modified UserService