modify interpolate interface