finish problem 16; add problem 17