By default add takes 0-inf, better to give an error message if missing.
By default add takes 0-inf, better to give an error message if missing.