userPage
some refactoring