early refactoring