preference module implemented