adding new files from chapter 2, working files