store original args, move run to a public function