UPDATED TPS6e 2.2 Exercise 51