diff --git a/qcmanybody/models/addons.py b/qcmanybody/tests/addons.py similarity index 100% rename from qcmanybody/models/addons.py rename to qcmanybody/tests/addons.py diff --git a/tests/common.py b/qcmanybody/tests/common.py similarity index 100% rename from tests/common.py rename to qcmanybody/tests/common.py diff --git a/tests/component_data/h2o_trimer_multi_energy_1.json.zst b/qcmanybody/tests/component_data/h2o_trimer_multi_energy_1.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_multi_energy_1.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_multi_energy_1.json.zst diff --git a/tests/component_data/h2o_trimer_multi_energy_2.json.zst b/qcmanybody/tests/component_data/h2o_trimer_multi_energy_2.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_multi_energy_2.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_multi_energy_2.json.zst diff --git a/tests/component_data/h2o_trimer_multi_gradient_1.json.zst b/qcmanybody/tests/component_data/h2o_trimer_multi_gradient_1.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_multi_gradient_1.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_multi_gradient_1.json.zst diff --git a/tests/component_data/h2o_trimer_multi_gradient_2.json.zst b/qcmanybody/tests/component_data/h2o_trimer_multi_gradient_2.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_multi_gradient_2.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_multi_gradient_2.json.zst diff --git a/tests/component_data/h2o_trimer_multi_hessian_1.json.zst b/qcmanybody/tests/component_data/h2o_trimer_multi_hessian_1.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_multi_hessian_1.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_multi_hessian_1.json.zst diff --git a/tests/component_data/h2o_trimer_multi_hessian_2.json.zst b/qcmanybody/tests/component_data/h2o_trimer_multi_hessian_2.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_multi_hessian_2.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_multi_hessian_2.json.zst diff --git a/tests/component_data/h2o_trimer_multi_ss_energy_1.json.zst b/qcmanybody/tests/component_data/h2o_trimer_multi_ss_energy_1.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_multi_ss_energy_1.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_multi_ss_energy_1.json.zst diff --git a/tests/component_data/h2o_trimer_multi_ss_energy_2.json.zst b/qcmanybody/tests/component_data/h2o_trimer_multi_ss_energy_2.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_multi_ss_energy_2.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_multi_ss_energy_2.json.zst diff --git a/tests/component_data/h2o_trimer_multi_ss_gradient_1.json.zst b/qcmanybody/tests/component_data/h2o_trimer_multi_ss_gradient_1.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_multi_ss_gradient_1.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_multi_ss_gradient_1.json.zst diff --git a/tests/component_data/h2o_trimer_multi_ss_gradient_2.json.zst b/qcmanybody/tests/component_data/h2o_trimer_multi_ss_gradient_2.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_multi_ss_gradient_2.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_multi_ss_gradient_2.json.zst diff --git a/tests/component_data/h2o_trimer_multi_ss_hessian_1.json.zst b/qcmanybody/tests/component_data/h2o_trimer_multi_ss_hessian_1.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_multi_ss_hessian_1.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_multi_ss_hessian_1.json.zst diff --git a/tests/component_data/h2o_trimer_multi_ss_hessian_2.json.zst b/qcmanybody/tests/component_data/h2o_trimer_multi_ss_hessian_2.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_multi_ss_hessian_2.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_multi_ss_hessian_2.json.zst diff --git a/tests/component_data/h2o_trimer_single_energy_1.json.zst b/qcmanybody/tests/component_data/h2o_trimer_single_energy_1.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_single_energy_1.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_single_energy_1.json.zst diff --git a/tests/component_data/h2o_trimer_single_energy_2.json.zst b/qcmanybody/tests/component_data/h2o_trimer_single_energy_2.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_single_energy_2.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_single_energy_2.json.zst diff --git a/tests/component_data/h2o_trimer_single_gradient_1.json.zst b/qcmanybody/tests/component_data/h2o_trimer_single_gradient_1.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_single_gradient_1.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_single_gradient_1.json.zst diff --git a/tests/component_data/h2o_trimer_single_gradient_2.json.zst b/qcmanybody/tests/component_data/h2o_trimer_single_gradient_2.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_single_gradient_2.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_single_gradient_2.json.zst diff --git a/tests/component_data/h2o_trimer_single_hessian_1.json.zst b/qcmanybody/tests/component_data/h2o_trimer_single_hessian_1.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_single_hessian_1.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_single_hessian_1.json.zst diff --git a/tests/component_data/h2o_trimer_single_hessian_2.json.zst b/qcmanybody/tests/component_data/h2o_trimer_single_hessian_2.json.zst similarity index 100% rename from tests/component_data/h2o_trimer_single_hessian_2.json.zst rename to qcmanybody/tests/component_data/h2o_trimer_single_hessian_2.json.zst diff --git a/tests/generate_component_data.py b/qcmanybody/tests/generate_component_data.py similarity index 100% rename from tests/generate_component_data.py rename to qcmanybody/tests/generate_component_data.py diff --git a/tests/ref_data/h2o_trimer_multi_gradient_1.inp b/qcmanybody/tests/ref_data/h2o_trimer_multi_gradient_1.inp similarity index 100% rename from tests/ref_data/h2o_trimer_multi_gradient_1.inp rename to qcmanybody/tests/ref_data/h2o_trimer_multi_gradient_1.inp diff --git a/tests/ref_data/h2o_trimer_multi_gradient_1.json.zst b/qcmanybody/tests/ref_data/h2o_trimer_multi_gradient_1.json.zst similarity index 100% rename from tests/ref_data/h2o_trimer_multi_gradient_1.json.zst rename to qcmanybody/tests/ref_data/h2o_trimer_multi_gradient_1.json.zst diff --git a/tests/ref_data/h2o_trimer_multi_gradient_1.out.zst b/qcmanybody/tests/ref_data/h2o_trimer_multi_gradient_1.out.zst similarity index 100% rename from tests/ref_data/h2o_trimer_multi_gradient_1.out.zst rename to qcmanybody/tests/ref_data/h2o_trimer_multi_gradient_1.out.zst diff --git a/tests/ref_data/h2o_trimer_multi_gradient_2.inp b/qcmanybody/tests/ref_data/h2o_trimer_multi_gradient_2.inp similarity index 100% rename from tests/ref_data/h2o_trimer_multi_gradient_2.inp rename to qcmanybody/tests/ref_data/h2o_trimer_multi_gradient_2.inp diff --git a/tests/ref_data/h2o_trimer_multi_gradient_2.json.zst b/qcmanybody/tests/ref_data/h2o_trimer_multi_gradient_2.json.zst similarity index 100% rename from tests/ref_data/h2o_trimer_multi_gradient_2.json.zst rename to qcmanybody/tests/ref_data/h2o_trimer_multi_gradient_2.json.zst diff --git a/tests/ref_data/h2o_trimer_multi_gradient_2.out.zst b/qcmanybody/tests/ref_data/h2o_trimer_multi_gradient_2.out.zst similarity index 100% rename from tests/ref_data/h2o_trimer_multi_gradient_2.out.zst rename to qcmanybody/tests/ref_data/h2o_trimer_multi_gradient_2.out.zst diff --git a/tests/ref_data/h2o_trimer_multi_hessian_1.inp b/qcmanybody/tests/ref_data/h2o_trimer_multi_hessian_1.inp similarity index 100% rename from tests/ref_data/h2o_trimer_multi_hessian_1.inp rename to qcmanybody/tests/ref_data/h2o_trimer_multi_hessian_1.inp diff --git a/tests/ref_data/h2o_trimer_multi_hessian_2.inp b/qcmanybody/tests/ref_data/h2o_trimer_multi_hessian_2.inp similarity index 100% rename from tests/ref_data/h2o_trimer_multi_hessian_2.inp rename to qcmanybody/tests/ref_data/h2o_trimer_multi_hessian_2.inp diff --git a/tests/ref_data/h2o_trimer_multi_ss_gradient_1.inp b/qcmanybody/tests/ref_data/h2o_trimer_multi_ss_gradient_1.inp similarity index 100% rename from tests/ref_data/h2o_trimer_multi_ss_gradient_1.inp rename to qcmanybody/tests/ref_data/h2o_trimer_multi_ss_gradient_1.inp diff --git a/tests/ref_data/h2o_trimer_multi_ss_gradient_1.json.zst b/qcmanybody/tests/ref_data/h2o_trimer_multi_ss_gradient_1.json.zst similarity index 100% rename from tests/ref_data/h2o_trimer_multi_ss_gradient_1.json.zst rename to qcmanybody/tests/ref_data/h2o_trimer_multi_ss_gradient_1.json.zst diff --git a/tests/ref_data/h2o_trimer_multi_ss_gradient_1.out.zst b/qcmanybody/tests/ref_data/h2o_trimer_multi_ss_gradient_1.out.zst similarity index 100% rename from tests/ref_data/h2o_trimer_multi_ss_gradient_1.out.zst rename to qcmanybody/tests/ref_data/h2o_trimer_multi_ss_gradient_1.out.zst diff --git a/tests/ref_data/h2o_trimer_multi_ss_gradient_2.inp b/qcmanybody/tests/ref_data/h2o_trimer_multi_ss_gradient_2.inp similarity index 100% rename from tests/ref_data/h2o_trimer_multi_ss_gradient_2.inp rename to qcmanybody/tests/ref_data/h2o_trimer_multi_ss_gradient_2.inp diff --git a/tests/ref_data/h2o_trimer_multi_ss_gradient_2.json.zst b/qcmanybody/tests/ref_data/h2o_trimer_multi_ss_gradient_2.json.zst similarity index 100% rename from tests/ref_data/h2o_trimer_multi_ss_gradient_2.json.zst rename to qcmanybody/tests/ref_data/h2o_trimer_multi_ss_gradient_2.json.zst diff --git a/tests/ref_data/h2o_trimer_multi_ss_gradient_2.out.zst b/qcmanybody/tests/ref_data/h2o_trimer_multi_ss_gradient_2.out.zst similarity index 100% rename from tests/ref_data/h2o_trimer_multi_ss_gradient_2.out.zst rename to qcmanybody/tests/ref_data/h2o_trimer_multi_ss_gradient_2.out.zst diff --git a/tests/ref_data/h2o_trimer_multi_ss_hessian_1.inp b/qcmanybody/tests/ref_data/h2o_trimer_multi_ss_hessian_1.inp similarity index 100% rename from tests/ref_data/h2o_trimer_multi_ss_hessian_1.inp rename to qcmanybody/tests/ref_data/h2o_trimer_multi_ss_hessian_1.inp diff --git a/tests/ref_data/h2o_trimer_multi_ss_hessian_2.inp b/qcmanybody/tests/ref_data/h2o_trimer_multi_ss_hessian_2.inp similarity index 100% rename from tests/ref_data/h2o_trimer_multi_ss_hessian_2.inp rename to qcmanybody/tests/ref_data/h2o_trimer_multi_ss_hessian_2.inp diff --git a/tests/ref_data/h2o_trimer_single_gradient_1.inp b/qcmanybody/tests/ref_data/h2o_trimer_single_gradient_1.inp similarity index 100% rename from tests/ref_data/h2o_trimer_single_gradient_1.inp rename to qcmanybody/tests/ref_data/h2o_trimer_single_gradient_1.inp diff --git a/tests/ref_data/h2o_trimer_single_gradient_1.json.zst b/qcmanybody/tests/ref_data/h2o_trimer_single_gradient_1.json.zst similarity index 100% rename from tests/ref_data/h2o_trimer_single_gradient_1.json.zst rename to qcmanybody/tests/ref_data/h2o_trimer_single_gradient_1.json.zst diff --git a/tests/ref_data/h2o_trimer_single_gradient_1.out.zst b/qcmanybody/tests/ref_data/h2o_trimer_single_gradient_1.out.zst similarity index 100% rename from tests/ref_data/h2o_trimer_single_gradient_1.out.zst rename to qcmanybody/tests/ref_data/h2o_trimer_single_gradient_1.out.zst diff --git a/tests/ref_data/h2o_trimer_single_gradient_2.inp b/qcmanybody/tests/ref_data/h2o_trimer_single_gradient_2.inp similarity index 100% rename from tests/ref_data/h2o_trimer_single_gradient_2.inp rename to qcmanybody/tests/ref_data/h2o_trimer_single_gradient_2.inp diff --git a/tests/ref_data/h2o_trimer_single_gradient_2.json.zst b/qcmanybody/tests/ref_data/h2o_trimer_single_gradient_2.json.zst similarity index 100% rename from tests/ref_data/h2o_trimer_single_gradient_2.json.zst rename to qcmanybody/tests/ref_data/h2o_trimer_single_gradient_2.json.zst diff --git a/tests/ref_data/h2o_trimer_single_gradient_2.out.zst b/qcmanybody/tests/ref_data/h2o_trimer_single_gradient_2.out.zst similarity index 100% rename from tests/ref_data/h2o_trimer_single_gradient_2.out.zst rename to qcmanybody/tests/ref_data/h2o_trimer_single_gradient_2.out.zst diff --git a/tests/ref_data/h2o_trimer_single_hessian_1.inp b/qcmanybody/tests/ref_data/h2o_trimer_single_hessian_1.inp similarity index 100% rename from tests/ref_data/h2o_trimer_single_hessian_1.inp rename to qcmanybody/tests/ref_data/h2o_trimer_single_hessian_1.inp diff --git a/tests/ref_data/h2o_trimer_single_hessian_1.json.zst b/qcmanybody/tests/ref_data/h2o_trimer_single_hessian_1.json.zst similarity index 100% rename from tests/ref_data/h2o_trimer_single_hessian_1.json.zst rename to qcmanybody/tests/ref_data/h2o_trimer_single_hessian_1.json.zst diff --git a/tests/ref_data/h2o_trimer_single_hessian_1.out.zst b/qcmanybody/tests/ref_data/h2o_trimer_single_hessian_1.out.zst similarity index 100% rename from tests/ref_data/h2o_trimer_single_hessian_1.out.zst rename to qcmanybody/tests/ref_data/h2o_trimer_single_hessian_1.out.zst diff --git a/tests/ref_data/h2o_trimer_single_hessian_2.inp b/qcmanybody/tests/ref_data/h2o_trimer_single_hessian_2.inp similarity index 100% rename from tests/ref_data/h2o_trimer_single_hessian_2.inp rename to qcmanybody/tests/ref_data/h2o_trimer_single_hessian_2.inp diff --git a/tests/ref_data/h2o_trimer_single_hessian_2.json.zst b/qcmanybody/tests/ref_data/h2o_trimer_single_hessian_2.json.zst similarity index 100% rename from tests/ref_data/h2o_trimer_single_hessian_2.json.zst rename to qcmanybody/tests/ref_data/h2o_trimer_single_hessian_2.json.zst diff --git a/tests/ref_data/h2o_trimer_single_hessian_2.out.zst b/qcmanybody/tests/ref_data/h2o_trimer_single_hessian_2.out.zst similarity index 100% rename from tests/ref_data/h2o_trimer_single_hessian_2.out.zst rename to qcmanybody/tests/ref_data/h2o_trimer_single_hessian_2.out.zst diff --git a/qcmanybody/models/test_mbe_he4_multilevel.py b/qcmanybody/tests/test_mbe_he4_multilevel.py similarity index 100% rename from qcmanybody/models/test_mbe_he4_multilevel.py rename to qcmanybody/tests/test_mbe_he4_multilevel.py diff --git a/qcmanybody/models/test_mbe_he4_singlelevel.py b/qcmanybody/tests/test_mbe_he4_singlelevel.py similarity index 100% rename from qcmanybody/models/test_mbe_he4_singlelevel.py rename to qcmanybody/tests/test_mbe_he4_singlelevel.py diff --git a/qcmanybody/models/test_mbe_keywords.py b/qcmanybody/tests/test_mbe_keywords.py similarity index 100% rename from qcmanybody/models/test_mbe_keywords.py rename to qcmanybody/tests/test_mbe_keywords.py diff --git a/tests/test_multi.py b/qcmanybody/tests/test_multi.py similarity index 100% rename from tests/test_multi.py rename to qcmanybody/tests/test_multi.py diff --git a/tests/test_multi_ss.py b/qcmanybody/tests/test_multi_ss.py similarity index 100% rename from tests/test_multi_ss.py rename to qcmanybody/tests/test_multi_ss.py diff --git a/tests/test_single.py b/qcmanybody/tests/test_single.py similarity index 100% rename from tests/test_single.py rename to qcmanybody/tests/test_single.py diff --git a/qcmanybody/models/test_utils.py b/qcmanybody/tests/test_utils.py similarity index 100% rename from qcmanybody/models/test_utils.py rename to qcmanybody/tests/test_utils.py diff --git a/tests/utils.py b/qcmanybody/tests/utils.py similarity index 100% rename from tests/utils.py rename to qcmanybody/tests/utils.py