enforce boundary and pass options argument to value objects