split Constraint class for the re simplicity