3rd commit, some more work done, figuring out data flow still I think I have it.
Cleaned up code and comments, added comments to every method