normal interpolation first implementation