re-implemented user prefs logic - still need to debug option change detection.