Chapter 3 Refactoring