User model refactoring.