Major Code refactoring and clean up
Major code restructure
Minor refactoring
Minor refactoring
Updated git setups