fiished chapter 7, tests passing