★refactoring user model
★add comments