Added an initial stab at the new run()