Refactored architecture and fixed tests.
Fixing merge issues
Merge pull request #20 from mikemases/T71_Archtecture_Refactor

Architecture refactor