add .gitignore and reflect submodule changes