Saving non-working version.  Considering removing all code and rebuilding from the ground up with a test driven approach.