bounds refactoring