works with error supression, 0.1 interp accuracy