adding readPreference support