add a bunch of tests