refactor profile UI