Add .gitignore
Add modes and mode switching