chapter 7 stuff (missing a lot of tests)
some chapter 8 stuff