refactoring user profile