update for preference