finally reached exercise 16.