Add abstract class for constraints