reduced code redundancy by inheriting other preference class