The agonizing joy of refactoring