gracefully wait for background