more gracefully exit