no *args madness to avoid having code that works but is not fully understood
clean up upsert_launch