add getPreferences() function