linear interpolation added and works