Complete Restructure and Modularization

Restructured the application to be modular and make it easier for loading of future modules and build out of current modules.