iteration revision exercise 4