some exception handling
gitignore