add nonlinear triangulation, but still keep using the linear method
something