mostly working catmull rom curves, tangent calculation is just a bit off.