Required constraints are now correctly handled