User model, refactorings