Finalize refacto and migrate to 3.1.0