refactoring extravaganza begins