The refactoring cycle