Refactoring: structured the constraint passing a little better.