more notes on refactoring