Completed Section 7.3 closes #17