refactoring totale