add atomic save, remove squash whitespace