exercise 8 and update 4