refactor runnables