improved run_many