Continuing to add tests

All tests so far are passing except for the snapshot function. I don't
think I broke things too bad :)