extended catch_quit()