refactored constraints, brought back &&