bounds should be re-usable