add a run function