UPDATED TPS6e 3.1 Exercise 5