UPDATED TPS6e 3.2 Exercise 37