UserResource refactored