refactoring the profile