added Constraint interface and script to generate methods for any constraint implementation to comply to that interface