added chapters 7 8 9
added test for printer, with mock