wrote a bunch of tests