new take on the constraint setup