split runner and logic