Refactoring User Model