chapter 4 finished. no test suite yet..