- Back up output files before overwriting them.

- enumerated types for strings

- mandatory args can checked for

- Default flags off or false

- #optional as well as #mandatory?

- invocation command implementation

- documentation of multiple descriptions

- figure out how to get make dist to work

- add GNU liscence blurb to all source files
