move most of test runner into lib