Refactor UserController