add source files
update .gitignore