implement quadratic interface