added a shitton of tests
oops I forgot to add tests