chapter 3, unit test first version
chapter 3, unit test final