private void AdministrateNewMission(MissionInProgress missionInProgress)
        {
            //initialize rewards and other stuff
            missionInProgress.OnMissionStarting().ThrowIfError();


            //store running mission in sql
            missionInProgress.InsertMissionLog().ThrowIfError();

            //write mission targets to sql
            missionInProgress.WriteAllTargetsToSql().ThrowIfError();

            //spawn courier and other start related items
            SpawnStartItemsForConfigMissions(missionInProgress.myMission, missionInProgress);

            //add to ram cache
            AddMissionInProgress(missionInProgress);

            //add the owner for sure
            missionInProgress.ForceAddParticipant();

            missionInProgress.SendZoneNewMission();
        }