added quadratic solver