add all the tests that still aren't passing

these tests used to work before the rewrite, so they need to be made to
pass again
fix one bug with forks. some still remain