Completed Section 10.2 closes #30