Completed Section 9.2 closes #25