UserService and its implementation