changed abort to exit, abort prints "core dumped" implying a bug when simply something went wrong (e.g. just now I ran the program on a system where I know the hardware is not available. "cant open device": OK. "Core dumped": not ok.
Added help text for three options