add more tests, clean up some more of the code
add more tests