various changes to improve interpolation