Add some tests, begin refactoring to allow for
a more route driven application