add Preference and PreferenceManager