Everything except interpolation implemented and checked