added second order reduction, kind off