chapter 5

chapter 5 templated out