refactor profile view