Added a bunch of unit tests to make testing a bit easier