refactored constraints