Chapter 5 completed. Fixes #80 and closes #101.