only save settings if something changed