some refactoring on User