refactoring: user role