refactor profileController 2