extended Preference class with custom methods