add some improves at the ode