implement frame interpolation