Refactoring, Part III