add a gitignore
diagram