added callbacks for interpolation and restriction