exercise 20 extra credit
exercise 21