diff --git a/FixedOrderGen/t/CMakeLists.txt b/FixedOrderGen/t/CMakeLists.txt
index e0a1c33..f70c5e0 100644
--- a/FixedOrderGen/t/CMakeLists.txt
+++ b/FixedOrderGen/t/CMakeLists.txt
@@ -1,162 +1,166 @@
 set(tst_dir "${CMAKE_CURRENT_SOURCE_DIR}")
+set(runcard_dir ${tst_dir}/runcards)
 foreach(tst W_reconstruct_enu W_2j_classify W_nj_classify)
   add_executable(test_${tst} ${tst_dir}/${tst}.cc)
   target_link_libraries(test_${tst} hejfog_lib)
-  add_test(NAME ${tst} COMMAND test_${tst} WORKING_DIRECTORY ${tst_dir})
+  add_test(NAME ${tst}
+    COMMAND test_${tst}
+    WORKING_DIRECTORY ${runcard_dir}
+  )
 endforeach()
 # this only tests if the runcard actually works, not if the result is correct
 add_test(
   NAME main_2j
-  COMMAND HEJFOG ${tst_dir}/config_2j.yml
-  )
+  COMMAND HEJFOG ${runcard_dir}/2j.yml
+)
 add_test(
   NAME main_h2j
-  COMMAND HEJFOG ${tst_dir}/config_h2j.yml
-  )
+  COMMAND HEJFOG ${runcard_dir}/h2j.yml
+)
 add_test(
   NAME main_h2j_decay
-  COMMAND HEJFOG ${tst_dir}/config_h2j_decay.yml
-  )
+  COMMAND HEJFOG ${runcard_dir}/h2j_decay.yml
+)
 add_test(
   NAME peakpt
-  COMMAND HEJFOG ${tst_dir}/config_2j_peak.yml
-  )
+  COMMAND HEJFOG ${runcard_dir}/2j_peak.yml
+)
 
 # check that uno emission doesn't change FKL xs
 add_executable(FKL_uno FKL_uno.cc)
 target_link_libraries(FKL_uno hejfog_lib)
 add_test(
   NAME FKL_uno
   # calculated with HEJ revision 9570e3809613272ac4b8bf3236279ba23cf64d20
-  COMMAND FKL_uno ${tst_dir}/config_h3j_uno.yml 0.0243548 0.000119862
+  COMMAND FKL_uno ${runcard_dir}/h3j_uno.yml 0.0243548 0.000119862
 )
 # xs tests
 add_executable(xs_gen xs_gen.cc)
 target_link_libraries(xs_gen hejfog_lib)
 ## Higgs
 add_test(
   NAME xs_hqQ
   # calculated with Sherpa see #132
-  COMMAND xs_gen ${tst_dir}/config_hqQ.yml 1.612e-02 1.26303e-04
+  COMMAND xs_gen ${runcard_dir}/hqQ.yml 1.612e-02 1.26303e-04
 )
 add_test(
   NAME xs_h2j
   # calculated with HEJ revision 9570e3809613272ac4b8bf3236279ba23cf64d20
-  COMMAND xs_gen ${tst_dir}/config_h2j.yml 2.04928 0.00956022
+  COMMAND xs_gen ${runcard_dir}/h2j.yml 2.04928 0.00956022
 )
 add_test(
   NAME xs_h3j
   # calculated with HEJ revision bd4388fe55cbc3f5a7b6139096456c551294aa31
-  COMMAND xs_gen ${tst_dir}/config_h3j.yml 1.07807 0.0132409
+  COMMAND xs_gen ${runcard_dir}/h3j.yml 1.07807 0.0132409
 )
 add_test(
   NAME xs_h5j
   # calculated with HEJ revision dbde2ffbb3b383ae6709b2424d8f0f9d5658270b
-  COMMAND xs_gen ${tst_dir}/config_h5j.yml 0.0112504 0.000199633
+  COMMAND xs_gen ${runcard_dir}/h5j.yml 0.0112504 0.000199633
 )
 add_test(
   NAME xs_h3j_uno
   # calculated with HEJ revision 9570e3809613272ac4b8bf3236279ba23cf64d20
-  COMMAND xs_gen ${tst_dir}/config_h3j_uno.yml 0.00347538 3.85875e-05
+  COMMAND xs_gen ${runcard_dir}/h3j_uno.yml 0.00347538 3.85875e-05
 )
 add_test(
   NAME xs_h2j_decay
   # calculated with HEJ revision 9570e3809613272ac4b8bf3236279ba23cf64d20
-  COMMAND xs_gen ${tst_dir}/config_h2j_decay.yml 0.00466994 2.20995e-05
+  COMMAND xs_gen ${runcard_dir}/h2j_decay.yml 0.00466994 2.20995e-05
 )
 ## pure jets
 add_test(
   NAME xs_qQ
   # calculated with Sherpa see #132
-  COMMAND xs_gen ${tst_dir}/config_qQ.yml 7.354e+05 1.905e+03
+  COMMAND xs_gen ${runcard_dir}/qQ.yml 7.354e+05 1.905e+03
 )
 add_test(
   NAME xs_2j
   # calculated with "combined" HEJ svn r3480
-  COMMAND xs_gen ${tst_dir}/config_2j.yml 86.42031848e06 590570
+  COMMAND xs_gen ${runcard_dir}/2j.yml 86.42031848e06 590570
 )
 add_test(
   NAME xs_3j_uno
   # calculated with HEJ revision 9401196fba75b5d16bc33f2a309175fecaca00f1
-  COMMAND xs_gen ${tst_dir}/config_3j_uno.yml 900 14.3131
+  COMMAND xs_gen ${runcard_dir}/3j_uno.yml 900 14.3131
 )
 add_test(
   NAME xs_3j_qqx
   # calculated with HEJ revision 9401196fba75b5d16bc33f2a309175fecaca00f1
-  COMMAND xs_gen ${tst_dir}/config_3j_qqx.yml 62040 1005
+  COMMAND xs_gen ${runcard_dir}/3j_qqx.yml 62040 1005
 )
 add_test(
   NAME xs_4j_qqx
   # calculated with HEJ revision 9401196fba75b5d16bc33f2a309175fecaca00f1
-  COMMAND xs_gen ${tst_dir}/config_4j_qqx.yml 28936 550
+  COMMAND xs_gen ${runcard_dir}/4j_qqx.yml 28936 550
 )
 add_test(
   NAME xs_4j
   # calculated with HEJ revision 13207b5f67a5f40a2141aa7ee515b022bd4efb65
-  COMMAND xs_gen ${tst_dir}/config_4j.yml 915072 15402.4
+  COMMAND xs_gen ${runcard_dir}/4j.yml 915072 15402.4
 )
 ## W
 add_test(
   NAME xs_WqQ
   # calculated with Sherpa see #132
-  COMMAND xs_gen ${tst_dir}/config_WpqQ.yml 3.086e+00 4.511e-02
+  COMMAND xs_gen ${runcard_dir}/WpqQ.yml 3.086e+00 4.511e-02
 )
 add_test(
   NAME xs_W2j
   # calculated with HEJ revision be065dc9a21e5965ce57583f6c0a3d953664b82b
-  COMMAND xs_gen ${tst_dir}/config_Wm2j.yml 4.628078e+02 6.875951e+00
+  COMMAND xs_gen ${runcard_dir}/Wm2j.yml 4.628078e+02 6.875951e+00
 )
 add_test(
   NAME xs_W3j_uno
   # calculated with HEJ revision be065dc9a21e5965ce57583f6c0a3d953664b82b
-  COMMAND xs_gen ${tst_dir}/config_Wp3j_uno.yml 5.905502e-01 1.133341e-02
+  COMMAND xs_gen ${runcard_dir}/Wp3j_uno.yml 5.905502e-01 1.133341e-02
 )
 add_test(
   NAME xs_W3j_eqqx
   # calculated with HEJ revision be065dc9a21e5965ce57583f6c0a3d953664b82b
-  COMMAND xs_gen ${tst_dir}/config_Wp3j_qqx.yml 1.690646e+01 2.068979e-01
+  COMMAND xs_gen ${runcard_dir}/Wp3j_qqx.yml 1.690646e+01 2.068979e-01
 )
 add_test(
   NAME xs_W4j_qqx
   # calculated with HEJ revision be065dc9a21e5965ce57583f6c0a3d953664b82b
-  COMMAND xs_gen ${tst_dir}/config_Wp4j_qqx.yml 9.274718e-02 4.875742e-03
+  COMMAND xs_gen ${runcard_dir}/Wp4j_qqx.yml 9.274718e-02 4.875742e-03
 )
 
 # Test that sum of partons == proton
 add_executable(PSP_channel PSP_channel.cc)
 target_link_libraries(PSP_channel hejfog_lib)
 # pure jets
 add_test(
   NAME channel_2j
-  COMMAND PSP_channel ${tst_dir}/config_2j.yml
+  COMMAND PSP_channel ${runcard_dir}/2j.yml
 )
 add_test(
   NAME channel_3j_qqx
-  COMMAND PSP_channel ${tst_dir}/config_3j_qqx.yml
+  COMMAND PSP_channel ${runcard_dir}/3j_qqx.yml
 )
 add_test(
   NAME channel_3j_uno
-  COMMAND PSP_channel ${tst_dir}/config_3j_uno.yml
+  COMMAND PSP_channel ${runcard_dir}/3j_uno.yml
 )
 add_test(
   NAME channel_4j_qqx
-  COMMAND PSP_channel ${tst_dir}/config_4j_qqx.yml
+  COMMAND PSP_channel ${runcard_dir}/4j_qqx.yml
 )
 # W+jets
 # pure jets
 add_test(
   NAME channel_W2j
-  COMMAND PSP_channel ${tst_dir}/config_Wm2j.yml
+  COMMAND PSP_channel ${runcard_dir}/Wm2j.yml
 )
 add_test(
   NAME channel_W3j_uno
-  COMMAND PSP_channel ${tst_dir}/config_Wp3j_uno.yml
+  COMMAND PSP_channel ${runcard_dir}/Wp3j_uno.yml
 )
 add_test(
   NAME channel_W3j_eqqx
-  COMMAND PSP_channel ${tst_dir}/config_Wp3j_qqx.yml
+  COMMAND PSP_channel ${runcard_dir}/Wp3j_qqx.yml
 )
 add_test(
   NAME channel_W4j_qqx
-  COMMAND PSP_channel ${tst_dir}/config_Wp4j_qqx.yml
+  COMMAND PSP_channel ${runcard_dir}/Wp4j_qqx.yml
 )
diff --git a/FixedOrderGen/t/W_reconstruct_enu.cc b/FixedOrderGen/t/W_reconstruct_enu.cc
index b01bcc7..928ac7a 100644
--- a/FixedOrderGen/t/W_reconstruct_enu.cc
+++ b/FixedOrderGen/t/W_reconstruct_enu.cc
@@ -1,79 +1,79 @@
 /**
  *  \brief     that the reconstruction of the W works
  *
  *  \authors   The HEJ collaboration (see AUTHORS for details)
  *  \date      2019-2020
  *  \copyright GPLv2 or later
  */
 #include <cstdlib>
 #include <iostream>
 #include <memory>
 #include <string>
 
 #include "HEJ/Event.hh"
 #include "HEJ/Mixmax.hh"
 #include "HEJ/ScaleFunction.hh"
 
 #include "config.hh"
 #include "EventGenerator.hh"
 #include "Status.hh"
 
 //! throw error if condition not fulfilled
 #define ASSERT(x) if(!(x)) { \
     throw std::logic_error("Assertion '" #x "' failed."); \
   }
 
 namespace {
   using namespace HEJFOG;
   using namespace HEJ;
 
   constexpr std::size_t num_events = 1000;
   constexpr double invGeV2_to_pb = 389379292.;
 }
 
 double get_xs(std::string config_name){
   auto config { load_config(config_name) };
   config.events = num_events;
   std::shared_ptr<HEJ::RNG> ran{std::make_shared<HEJ::Mixmax>(11)};
   HEJFOG::EventGenerator generator{
     config.process,
     config.beam,
     HEJ::ScaleGenerator{
       config.scales.base,
       config.scales.factors,
       config.scales.max_ratio
     },
     config.jets,
     config.pdf_id,
     config.subleading_fraction,
     config.subleading_channels,
     config.particle_decays,
     config.Higgs_coupling,
     config.ew_parameters,
     ran
   };
 
   double xs = 0.;
   for (std::size_t trials = 0; trials < config.events; ++trials){
     auto ev = generator.gen_event();
     if(generator.status() != Status::good) continue;
     ASSERT(ev);
     ev->central().weight *= invGeV2_to_pb;
     ev->central().weight /= config.events;
     xs += ev->central().weight;
   }
   return xs;
 }
 
 int main(){
 
-  double xs_W{   get_xs("config_Wp_2j.yml")};
-  double xs_enu{ get_xs("config_Wp_2j_decay.yml")};
+  double xs_W{   get_xs("Wp_2j.yml")};
+  double xs_enu{ get_xs("Wp_2j_decay.yml")};
   if(std::abs(xs_W/xs_enu-1.)>1e-6){
     std::cerr << "Reconstructing the W in the runcard gave a different results ("
       << xs_W << " vs. "<< xs_enu << " -> " << std::abs(xs_W/xs_enu-1.)*100 << "%)\n";
     return EXIT_FAILURE;
   }
 
   return EXIT_SUCCESS;
 }
diff --git a/FixedOrderGen/t/config_2j.yml b/FixedOrderGen/t/runcards/2j.yml
similarity index 100%
rename from FixedOrderGen/t/config_2j.yml
rename to FixedOrderGen/t/runcards/2j.yml
diff --git a/FixedOrderGen/t/config_2j_peak.yml b/FixedOrderGen/t/runcards/2j_peak.yml
similarity index 100%
rename from FixedOrderGen/t/config_2j_peak.yml
rename to FixedOrderGen/t/runcards/2j_peak.yml
diff --git a/FixedOrderGen/t/config_3j_qqx.yml b/FixedOrderGen/t/runcards/3j_qqx.yml
similarity index 100%
rename from FixedOrderGen/t/config_3j_qqx.yml
rename to FixedOrderGen/t/runcards/3j_qqx.yml
diff --git a/FixedOrderGen/t/config_3j_uno.yml b/FixedOrderGen/t/runcards/3j_uno.yml
similarity index 100%
rename from FixedOrderGen/t/config_3j_uno.yml
rename to FixedOrderGen/t/runcards/3j_uno.yml
diff --git a/FixedOrderGen/t/config_4j.yml b/FixedOrderGen/t/runcards/4j.yml
similarity index 100%
rename from FixedOrderGen/t/config_4j.yml
rename to FixedOrderGen/t/runcards/4j.yml
diff --git a/FixedOrderGen/t/config_4j_qqx.yml b/FixedOrderGen/t/runcards/4j_qqx.yml
similarity index 100%
rename from FixedOrderGen/t/config_4j_qqx.yml
rename to FixedOrderGen/t/runcards/4j_qqx.yml
diff --git a/FixedOrderGen/t/config_Wm2j.yml b/FixedOrderGen/t/runcards/Wm2j.yml
similarity index 100%
rename from FixedOrderGen/t/config_Wm2j.yml
rename to FixedOrderGen/t/runcards/Wm2j.yml
diff --git a/FixedOrderGen/t/config_Wp3j_qqx.yml b/FixedOrderGen/t/runcards/Wp3j_qqx.yml
similarity index 100%
rename from FixedOrderGen/t/config_Wp3j_qqx.yml
rename to FixedOrderGen/t/runcards/Wp3j_qqx.yml
diff --git a/FixedOrderGen/t/config_Wp3j_uno.yml b/FixedOrderGen/t/runcards/Wp3j_uno.yml
similarity index 100%
rename from FixedOrderGen/t/config_Wp3j_uno.yml
rename to FixedOrderGen/t/runcards/Wp3j_uno.yml
diff --git a/FixedOrderGen/t/config_Wp4j_qqx.yml b/FixedOrderGen/t/runcards/Wp4j_qqx.yml
similarity index 100%
rename from FixedOrderGen/t/config_Wp4j_qqx.yml
rename to FixedOrderGen/t/runcards/Wp4j_qqx.yml
diff --git a/FixedOrderGen/t/config_Wp_2j.yml b/FixedOrderGen/t/runcards/Wp_2j.yml
similarity index 100%
rename from FixedOrderGen/t/config_Wp_2j.yml
rename to FixedOrderGen/t/runcards/Wp_2j.yml
diff --git a/FixedOrderGen/t/config_Wp_2j_decay.yml b/FixedOrderGen/t/runcards/Wp_2j_decay.yml
similarity index 100%
rename from FixedOrderGen/t/config_Wp_2j_decay.yml
rename to FixedOrderGen/t/runcards/Wp_2j_decay.yml
diff --git a/FixedOrderGen/t/config_WpqQ.yml b/FixedOrderGen/t/runcards/WpqQ.yml
similarity index 100%
rename from FixedOrderGen/t/config_WpqQ.yml
rename to FixedOrderGen/t/runcards/WpqQ.yml
diff --git a/FixedOrderGen/t/config_h2j.yml b/FixedOrderGen/t/runcards/h2j.yml
similarity index 100%
rename from FixedOrderGen/t/config_h2j.yml
rename to FixedOrderGen/t/runcards/h2j.yml
diff --git a/FixedOrderGen/t/config_h2j_decay.yml b/FixedOrderGen/t/runcards/h2j_decay.yml
similarity index 100%
rename from FixedOrderGen/t/config_h2j_decay.yml
rename to FixedOrderGen/t/runcards/h2j_decay.yml
diff --git a/FixedOrderGen/t/config_h3j.yml b/FixedOrderGen/t/runcards/h3j.yml
similarity index 100%
rename from FixedOrderGen/t/config_h3j.yml
rename to FixedOrderGen/t/runcards/h3j.yml
diff --git a/FixedOrderGen/t/config_h3j_uno.yml b/FixedOrderGen/t/runcards/h3j_uno.yml
similarity index 100%
rename from FixedOrderGen/t/config_h3j_uno.yml
rename to FixedOrderGen/t/runcards/h3j_uno.yml
diff --git a/FixedOrderGen/t/config_h5j.yml b/FixedOrderGen/t/runcards/h5j.yml
similarity index 100%
rename from FixedOrderGen/t/config_h5j.yml
rename to FixedOrderGen/t/runcards/h5j.yml
diff --git a/FixedOrderGen/t/config_hqQ.yml b/FixedOrderGen/t/runcards/hqQ.yml
similarity index 100%
rename from FixedOrderGen/t/config_hqQ.yml
rename to FixedOrderGen/t/runcards/hqQ.yml
diff --git a/FixedOrderGen/t/config_qQ.yml b/FixedOrderGen/t/runcards/qQ.yml
similarity index 100%
rename from FixedOrderGen/t/config_qQ.yml
rename to FixedOrderGen/t/runcards/qQ.yml