Yet a refactoring