chapter 4 working, initial commit