refactor profile settings