chapter 3 completed & fully unit tested