add code and gitignore