shell now handles exit