refactoring runnables