Contraints fixed again and updated. Not perfect