Chapter 4 code sample

Plus gitignore update