change to const functors for ode_solver