Copied chapter 7 web app to chapter 8