rafactored runner into its own class