chapter 4 exercise 3 initial commit