changed the app structure to be more modular and well structured; major refactor; still needs work as i broke stuff during the change