for now only allow run once, scripts not reentrant