observe pref changes