some updates to exercise 3