added a bunch of new unit tests and services