ch16 ex6
half-commit for ch16 ex7