Refactoring protocol