Kevin Shih’s exercise 10.5