refactoring constraints section