refactor profile