added new files from chapter 3