update preference