add prefs, fix nullptrbug