Added various ode solvers. also, refactoring