refactoring cpp