Added support for providing named files, configuration and cleaned up a lot of production methods
Unit tests to cover some outliers
Corrected some minor items