problem 2, and add gitignore