Added a lot of stubbed out unit tests and reorganized code more logically