progress on chapter 3 exercises, through 3.15