working on the constraints