completed refactoring recipe