more unit tests, and built out the mainController