refactor user page