Revisit chapter 2.  Added unit tests.
Revisit chapter 3.
Consistency between chapters.
Revisit chapter 4 (in progress).