save on exit; handle SIGINT; part not in Left