function step_toward!(M::AbstractManifold, dest, p, q, var, delta_t, remaining_t)
noise = (var > 0) ? get_vector(M, p, rand(MultiNormal(manifold_dimension(M), delta_t * var))) : 0
direction = (delta_t / remaining_t) .* log(M, p, q) .+ noise
exp!(M, dest, p, direction)
return dest
end