started working on more efficient solve_ode