do not save if nothing changed, add dry-run options and more informative output