Add a bunch of unit tests