refactoring blog post