Refactoring, refactoring, refactoring, up and down and sideways.