fix Constraint, add UserRepository