Continue chapter 5, exercise 2 - needs serious cleanup and possible redo