exit status reporting; better io exchange; sigint trapping