chapter 17 done

leave chapter 18 for test