UPDATED TPS6e 4.2 Exercise 59