continous refactoring