Add lagrange interpolation and hermite variants