improved atomicity and gitignore