Refactor the User model