added more tests, cleaned up some more stuff, added a teardown function and made it even better