Started implementing "dry run" function
Needs more work before it will compile.  Committing the source as a backup only.