added second order methods