added constraint class