add .gitignore; add cache