chapter 10.4 # incomplete