improved qp