UPDATED TPS6e 5.2 Exercise 51