constraint class