refactor errors; add save file; add .gitignore