Chapter 3 part 1 (it compiles at least)