ch3/4 + .gitignore