chapter 10 functionally solving problems