Pulled out the run_recipe function to make things simpler.