changed get_tangent()