Add unit tests
Restructure app for modularity
Get tests passing