Added a lot of stuff necessary for a first constraint