add integrator and tests