Implemented the new Preference class