For #31 moving more stuff around and putting in namespaces
For #31 move more unit tests into unit test suite