update prefs better