split out TestRunner into separate module