First cut of constraints, moved the classes to api as is, more work to follow in the form of cleanup