diff --git a/meson.build b/meson.build
index 4be9da1ebfbda2c02e5a48d0b80d781877751120..639d6de24305df4ac2271e4c9f0fa1cbc4fc1ecd 100644
--- a/meson.build
+++ b/meson.build
@@ -667,8 +667,8 @@ alias_target('doc',
 ### Tests implemented as .mod or .m (both integration and unit tests)
 
 mod_and_m_tests = [
-  { 'test' : [ 'first_order/walsh.mod' ],
-    'extra' : [ 'first_order/+matlab/+namespace/y_k.m'] },
+  { 'test' : [ 'decision_rules/first_order/walsh.mod' ],
+    'extra' : [ 'decision_rules/first_order/+matlab/+namespace/y_k.m'] },
   { 'test' : [ 'occbin/model_irrcap_twoconstraints/dynrbc.mod',
                'occbin/model_irrcap_twoconstraints/dynrbc_0_std_shocks.mod' ],
     'extra' : [ 'occbin/model_irrcap_twoconstraints/dynrbc_common.inc' ] },
@@ -767,10 +767,10 @@ mod_and_m_tests = [
   { 'test' : [ 'analytic_derivatives/BrockMirman_PertParamsDerivs.mod' ],
     'extra' : [ 'analytic_derivatives/nBrockMirmanSYM.mat' ] },
   { 'test' : [ 'analytic_derivatives/burnside_3_order_PertParamsDerivs.mod' ] },
-  { 'test' : [ 'pruning/AnSchorfheide_pruned_state_space.mod',
-               'pruning/AS_pruned_state_space_red_shock.mod' ],
-    'extra' : [ 'pruning/Andreasen_et_al_2018_Dynare44Pruning_v2.mat'] },
-  { 'test' : [ 'pruning/fs2000_pruning.mod' ] },
+  { 'test' : [ 'stochastic_simulations/pruning/AnSchorfheide_pruned_state_space.mod',
+               'stochastic_simulations/pruning/AS_pruned_state_space_red_shock.mod' ],
+    'extra' : [ 'stochastic_simulations/pruning/Andreasen_et_al_2018_Dynare44Pruning_v2.mat'] },
+  { 'test' : [ 'stochastic_simulations/pruning/fs2000_pruning.mod' ] },
   { 'test' : [ 'measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME.mod' ] },
   { 'test' : [ 'TeX/fs2000_corr_ME.mod' ],
     'extra' : [ 'fs2000/fsdat_simul.m'] },
@@ -1017,16 +1017,16 @@ mod_and_m_tests = [
                'block_bytecode/lola_solve_one_boundary_mfs3.mod' ],
     'extra' : [ 'block_bytecode/lola_common.inc',
                 'block_bytecode/lola_data.mat' ] },
-  { 'test' : [ 'k_order_perturbation/fs2000k2a.mod',
-               'k_order_perturbation/fs2000k2_use_dll.mod',
-               'k_order_perturbation/fs2000k_1_use_dll.mod',
-               'k_order_perturbation/fs2000k3_use_dll.mod',
-               'k_order_perturbation/fs2000k2_m.mod',
-               'k_order_perturbation/fs2000k_1_m.mod',
-               'k_order_perturbation/fs2000k3_m.mod' ] },
-  { 'test' : [ 'k_order_perturbation/fs2000k3_p.mod' ] },
-  { 'test' : [ 'k_order_perturbation/burnside_k_order.mod' ] },
-  { 'test' : [ 'k_order_perturbation/fs2000_k_order_simul.mod' ] },
+  { 'test' : [ 'decision_rules/k_order/fs2000k2a.mod',
+               'decision_rules/k_order/fs2000k2_use_dll.mod',
+               'decision_rules/k_order/fs2000k_1_use_dll.mod',
+               'decision_rules/k_order/fs2000k3_use_dll.mod',
+               'decision_rules/k_order/fs2000k2_m.mod',
+               'decision_rules/k_order/fs2000k_1_m.mod',
+               'decision_rules/k_order/fs2000k3_m.mod' ] },
+  { 'test' : [ 'stochastic_simulations/pruning/fs2000k3_p.mod' ] },
+  { 'test' : [ 'decision_rules/k_order/burnside_k_order.mod' ] },
+  { 'test' : [ 'stochastic_simulations/fs2000_k_order_simul.mod' ] },
   { 'test' : [ 'partial_information/PItest3aHc0PCLsimModPiYrVarobsAll.mod' ] },
   { 'test' : [ 'partial_information/PItest3aHc0PCLsimModPiYrVarobsCNR.mod' ] },
   { 'test' : [ 'arima/mod1.mod',
@@ -1117,8 +1117,8 @@ mod_and_m_tests = [
   { 'test' : [ 'identification/forward_looking/forward_looking_varobs_x.mod' ],
     'extra' : [ 'identification/forward_looking/forward_looking_common.inc' ] },
   { 'test' : [ 'model_diagnostics/example2_block_model_diag.mod' ] },
-  { 'test' : [ 'perfect_foresight/initval_endval_blocks/initval_endval_test.mod' ] },
-  { 'test' : [ 'perfect_foresight/initval_endval_blocks/histval_initval_test.mod' ] },
+  { 'test' : [ 'deterministic_simulations/initval_endval_blocks/initval_endval_test.mod' ] },
+  { 'test' : [ 'deterministic_simulations/initval_endval_blocks/histval_initval_test.mod' ] },
   { 'test' : [ 'conditional_forecasts/1/fs2000_cal.mod' ] },
   { 'test' : [ 'conditional_forecasts/2/fs2000_est.mod' ],
     'extra' : [ 'conditional_forecasts/2/fsdat_simul.m' ] },
@@ -1232,7 +1232,7 @@ mod_and_m_tests = [
                'kalman/likelihood_from_dynare/fs2000ns_uncorr_ME_missing.mod' ],
     'extra' : [ 'kalman/likelihood_from_dynare/fs2000ns_model.inc',
                 'kalman/likelihood_from_dynare/fs2000ns_estimation_check.inc' ] },
-  { 'test' : [ 'second_order/burnside_1.mod' ] },
+  { 'test' : [ 'decision_rules/second_order/burnside_1.mod' ] },
   { 'test' : [ 'kalman_filter_smoother/compare_results_simulation/fs2000_ML.mod' ],
     'extra' : [ 'kalman_filter_smoother/compare_results_simulation/fsdat_simul_logged.m' ] },
   { 'test' : [ 'kalman_filter_smoother/compare_results_simulation/fs2000_ML_loglinear.mod' ],
@@ -1243,9 +1243,9 @@ mod_and_m_tests = [
   { 'test' : [ 'kalman_filter_smoother/compare_results_simulation/fs2000_loglinear.mod' ],
     'extra' : [ 'kalman_filter_smoother/fsdat_simul.m',
                 'kalman_filter_smoother/compare_results_simulation/fsdat_simul_logged.m' ] },
-  { 'test' : [ 'second_order/burnside_1.mod' ] },
-  { 'test' : [ 'second_order/ds1.mod',
-               'second_order/ds2.mod' ] },
+  { 'test' : [ 'decision_rules/second_order/burnside_1.mod' ] },
+  { 'test' : [ 'decision_rules/second_order/ds1.mod',
+               'decision_rules/second_order/ds2.mod' ] },
   { 'test' : [ 'ep/rbc2.mod' ],
     'extra' : [ 'ep/mean_preserving_spread.m' ] },
   { 'test' : [ 'ep/rbcii.mod',
diff --git a/tests/first_order/+matlab/+namespace/y_k.m b/tests/decision_rules/first_order/+matlab/+namespace/y_k.m
similarity index 100%
rename from tests/first_order/+matlab/+namespace/y_k.m
rename to tests/decision_rules/first_order/+matlab/+namespace/y_k.m
diff --git a/tests/first_order/fs2000_cr.mod b/tests/decision_rules/first_order/fs2000_cr.mod
similarity index 100%
rename from tests/first_order/fs2000_cr.mod
rename to tests/decision_rules/first_order/fs2000_cr.mod
diff --git a/tests/first_order/walsh.mod b/tests/decision_rules/first_order/walsh.mod
similarity index 100%
rename from tests/first_order/walsh.mod
rename to tests/decision_rules/first_order/walsh.mod
diff --git a/tests/k_order_perturbation/burnside_k_order.mod b/tests/decision_rules/k_order/burnside_k_order.mod
similarity index 100%
rename from tests/k_order_perturbation/burnside_k_order.mod
rename to tests/decision_rules/k_order/burnside_k_order.mod
diff --git a/tests/k_order_perturbation/fs2000k2_m.mod b/tests/decision_rules/k_order/fs2000k2_m.mod
similarity index 100%
rename from tests/k_order_perturbation/fs2000k2_m.mod
rename to tests/decision_rules/k_order/fs2000k2_m.mod
diff --git a/tests/k_order_perturbation/fs2000k2_use_dll.mod b/tests/decision_rules/k_order/fs2000k2_use_dll.mod
similarity index 100%
rename from tests/k_order_perturbation/fs2000k2_use_dll.mod
rename to tests/decision_rules/k_order/fs2000k2_use_dll.mod
diff --git a/tests/k_order_perturbation/fs2000k2a.mod b/tests/decision_rules/k_order/fs2000k2a.mod
similarity index 100%
rename from tests/k_order_perturbation/fs2000k2a.mod
rename to tests/decision_rules/k_order/fs2000k2a.mod
diff --git a/tests/k_order_perturbation/fs2000k3_m.mod b/tests/decision_rules/k_order/fs2000k3_m.mod
similarity index 100%
rename from tests/k_order_perturbation/fs2000k3_m.mod
rename to tests/decision_rules/k_order/fs2000k3_m.mod
diff --git a/tests/k_order_perturbation/fs2000k3_use_dll.mod b/tests/decision_rules/k_order/fs2000k3_use_dll.mod
similarity index 100%
rename from tests/k_order_perturbation/fs2000k3_use_dll.mod
rename to tests/decision_rules/k_order/fs2000k3_use_dll.mod
diff --git a/tests/k_order_perturbation/fs2000k_1_m.mod b/tests/decision_rules/k_order/fs2000k_1_m.mod
similarity index 100%
rename from tests/k_order_perturbation/fs2000k_1_m.mod
rename to tests/decision_rules/k_order/fs2000k_1_m.mod
diff --git a/tests/k_order_perturbation/fs2000k_1_use_dll.mod b/tests/decision_rules/k_order/fs2000k_1_use_dll.mod
similarity index 100%
rename from tests/k_order_perturbation/fs2000k_1_use_dll.mod
rename to tests/decision_rules/k_order/fs2000k_1_use_dll.mod
diff --git a/tests/second_order/burnside_1.mod b/tests/decision_rules/second_order/burnside_1.mod
similarity index 100%
rename from tests/second_order/burnside_1.mod
rename to tests/decision_rules/second_order/burnside_1.mod
diff --git a/tests/second_order/ds1.mod b/tests/decision_rules/second_order/ds1.mod
similarity index 100%
rename from tests/second_order/ds1.mod
rename to tests/decision_rules/second_order/ds1.mod
diff --git a/tests/second_order/ds2.mod b/tests/decision_rules/second_order/ds2.mod
similarity index 100%
rename from tests/second_order/ds2.mod
rename to tests/decision_rules/second_order/ds2.mod
diff --git a/tests/perfect_foresight/initval_endval_blocks/histval_initval_test.mod b/tests/deterministic_simulations/initval_endval_blocks/histval_initval_test.mod
similarity index 100%
rename from tests/perfect_foresight/initval_endval_blocks/histval_initval_test.mod
rename to tests/deterministic_simulations/initval_endval_blocks/histval_initval_test.mod
diff --git a/tests/perfect_foresight/initval_endval_blocks/initval_endval_test.mod b/tests/deterministic_simulations/initval_endval_blocks/initval_endval_test.mod
similarity index 100%
rename from tests/perfect_foresight/initval_endval_blocks/initval_endval_test.mod
rename to tests/deterministic_simulations/initval_endval_blocks/initval_endval_test.mod
diff --git a/tests/k_order_perturbation/fs2000_k_order_simul.mod b/tests/stochastic_simulations/fs2000_k_order_simul.mod
similarity index 100%
rename from tests/k_order_perturbation/fs2000_k_order_simul.mod
rename to tests/stochastic_simulations/fs2000_k_order_simul.mod
diff --git a/tests/pruning/AS_pruned_state_space_red_shock.mod b/tests/stochastic_simulations/pruning/AS_pruned_state_space_red_shock.mod
similarity index 100%
rename from tests/pruning/AS_pruned_state_space_red_shock.mod
rename to tests/stochastic_simulations/pruning/AS_pruned_state_space_red_shock.mod
diff --git a/tests/pruning/AnSchorfheide_pruned_state_space.mod b/tests/stochastic_simulations/pruning/AnSchorfheide_pruned_state_space.mod
similarity index 100%
rename from tests/pruning/AnSchorfheide_pruned_state_space.mod
rename to tests/stochastic_simulations/pruning/AnSchorfheide_pruned_state_space.mod
diff --git a/tests/pruning/Andreasen_et_al_2018_Dynare44Pruning_v2.mat b/tests/stochastic_simulations/pruning/Andreasen_et_al_2018_Dynare44Pruning_v2.mat
similarity index 100%
rename from tests/pruning/Andreasen_et_al_2018_Dynare44Pruning_v2.mat
rename to tests/stochastic_simulations/pruning/Andreasen_et_al_2018_Dynare44Pruning_v2.mat
diff --git a/tests/pruning/fs2000_pruning.mod b/tests/stochastic_simulations/pruning/fs2000_pruning.mod
similarity index 100%
rename from tests/pruning/fs2000_pruning.mod
rename to tests/stochastic_simulations/pruning/fs2000_pruning.mod
diff --git a/tests/k_order_perturbation/fs2000k3_p.mod b/tests/stochastic_simulations/pruning/fs2000k3_p.mod
similarity index 100%
rename from tests/k_order_perturbation/fs2000k3_p.mod
rename to tests/stochastic_simulations/pruning/fs2000k3_p.mod