attempt at allowing varying initial positions in solve_ode