lerp implementation + test