modify priority to postion and add PreferenceMgr