Moved interpolation and restriction to seperate classes