all the exercises of refactoring