Implemet Preferece class.