refactoring in sing up user