possibly working interpolation and restriction