reworked constraints, stated with dependency analysis