add spawnOnce to startupHook