update for QP