correctly update preferences