generalized the default constraint functions, next I am going to expand the capabilities of the constraint system