Chapter20

Implemented changes outlined in chapter 20.

No python3 issues encountered