try to improve performance
fix interpolation algorithm