UPDATED TPS6e 3.2 Exercise 55