refactoring runner