First-round refactoring