diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index def6bbe..b1c1ffe 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,315 +1,319 @@
 # ---------------------------------
 # -        General Setup          -
 # ---------------------------------
 
 stages:
   - build
   - test
   - FOG:build
   - FOG:test
   - clean_code
   - long_test
   - publish
 
 variables:
   # build directories
   HEJ_BUILD_DIR: tmp_HEJ/HEJ_build
   HEJ_INSTALL_DIR: tmp_HEJ/HEJ_installed
   FOG_BUILD_DIR: tmp_HEJ/FOG_build
   FOG_INSTALL_DIR: ${HEJ_INSTALL_DIR}
   # docker images
   DOCKER_BASIC: hejdock/hepenv
   DOCKER_HEPMC3: hejdock/hepmc3env
   DOCKER_QCDLOOP: hejdock/qcdloopenv
   DOCKER_RIVET: hejdock/rivetenv
 
 # ----------- Macros -----------
 
 after_script:
   - date
 
 .tags_template:
   tags: &tags_def
     - docker
 
 # save complete history of failed tests
 .save_failure:
   artifacts: &artifacts_failed
     when: on_failure
     untracked: true
     expire_in: 3d
 
 # ---------------------------------
 # -      Script Templates         -
 # ---------------------------------
 
 # ----------- Build -----------
 
 .HEJ_build:
   tags: *tags_def
   stage: build
   before_script:
     - date
     - source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1
     # prepare build
     - t_HEJ_DIR=${PWD}
     - t_HEJ_INSTALL_DIR=${PWD}/${HEJ_INSTALL_DIR}
     - t_HEJ_BUILD_DIR=${PWD}/${HEJ_BUILD_DIR}
     - mkdir -p ${t_HEJ_BUILD_DIR}
     - cd ${t_HEJ_BUILD_DIR}
     - cmake ${t_HEJ_DIR} -DCMAKE_BUILD_TYPE=DEBUG
       -DCMAKE_INSTALL_PREFIX=${t_HEJ_INSTALL_DIR}
   script:
     - make -j $(nproc --ignore=1)
     - make install
   artifacts:
     # save build and installed folder
     name: build
     expire_in: 1d
     paths:
       - ${HEJ_INSTALL_DIR}
       - ${HEJ_BUILD_DIR}
 
 # ----------- Test -----------
 
 .HEJ_test:
   tags: *tags_def
   stage: test
   before_script:
     - date
     - source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1
     # load HEJ
     - t_HEJ_DIR=${PWD}
     - t_HEJ_INSTALL_DIR=${PWD}/${HEJ_INSTALL_DIR}
     - export LD_LIBRARY_PATH=${t_HEJ_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}
     - export PATH=${t_HEJ_INSTALL_DIR}/bin:${PATH}
     - cd ${HEJ_BUILD_DIR}
     - cmake ${t_HEJ_DIR} # rerun cmake to create all test configure files
   script:
     - ctest --output-on-failure
   artifacts: *artifacts_failed
 
 ## ----------- FOG build -----------
 
 .FOG_build:
   tags: *tags_def
   stage: FOG:build
   before_script:
     - date
     - source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1
     # load HEJ
     - t_HEJ_INSTALL_DIR=${PWD}/${HEJ_INSTALL_DIR}
     - export LD_LIBRARY_PATH=${t_HEJ_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}
     - export PATH=${t_HEJ_INSTALL_DIR}/bin:${PATH}
     # prepare build
     - t_FOG_DIR=${PWD}/FixedOrderGen
     - t_FOG_INSTALL_DIR=${PWD}/${FOG_INSTALL_DIR}
     - t_FOG_BUILD_DIR=${PWD}/${FOG_BUILD_DIR}
     - mkdir -p ${t_FOG_BUILD_DIR}
     - cd ${t_FOG_BUILD_DIR}
     - cmake ${t_FOG_DIR} -DCMAKE_BUILD_TYPE=DEBUG
       -DCMAKE_INSTALL_PREFIX=${t_FOG_INSTALL_DIR}
   script:
     - make -j $(nproc --ignore=1)
     - make install
   artifacts:
     # save build and installed folder
     name: FOG_build
     expire_in: 1d
     paths:
       - ${HEJ_INSTALL_DIR}
       - ${FOG_INSTALL_DIR}
       - ${FOG_BUILD_DIR}
 
 ## ----------- FOG test -----------
 
 .FOG_test:
   tags: *tags_def
   stage: FOG:test
   before_script:
     - date
     - source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1
     # load HEJ
     - t_FOG_DIR=${PWD}/FixedOrderGen
     - t_HEJ_INSTALL_DIR=${PWD}/${HEJ_INSTALL_DIR}
     - t_FOG_INSTALL_DIR=${PWD}/${FOG_INSTALL_DIR}
     - export LD_LIBRARY_PATH=${t_HEJ_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}
     - export PATH=${t_HEJ_INSTALL_DIR}/bin:${t_FOG_INSTALL_DIR}/bin:${PATH}
     - t_FOG_BUILD_DIR=${PWD}/${FOG_BUILD_DIR}
     - cd ${t_FOG_BUILD_DIR}
     - cmake ${t_FOG_DIR} # rerun cmake to create all test configure files
   script:
     - ctest --output-on-failure
   artifacts: *artifacts_failed
 
 # ---------------------------------
 # -         Build & Test          -
 # ---------------------------------
 
 # ----------- basic -----------
 
 # build:basic:
 #   image: ${DOCKER_BASIC}
 #   extends: .HEJ_build
 
 # test:basic:
 #   image: ${DOCKER_BASIC}
 #   extends: .HEJ_test
 #   dependencies:
 #     - build:basic
 
 # FOG:build:basic:
 #   image: ${DOCKER_BASIC}
 #   extends: .FOG_build
 #   dependencies:
 #     - build:basic
 
 # FOG:test:basic:
 #   image: ${DOCKER_BASIC}
 #   extends: .FOG_test
 #   dependencies:
 #     - FOG:build:basic
 
 # ----------- HepMC 3 -----------
 
 # build:hepmc3:
 #   image: ${DOCKER_HEPMC3}
 #   extends: .HEJ_build
 
 # test:hepmc3:
 #   image: ${DOCKER_HEPMC3}
 #   extends: .HEJ_test
 #   dependencies:
 #     - build:hepmc3
 
 # ----------- QCDloop -----------
 
 build:qcdloop:
   image: ${DOCKER_QCDLOOP}
   extends: .HEJ_build
 
 test:qcdloop:
   image: ${DOCKER_QCDLOOP}
   extends: .HEJ_test
   dependencies:
     - build:qcdloop
 
 # ----------- rivet -----------
 
 # build:rivet:
 #   image: ${DOCKER_RIVET}
 #   extends: .HEJ_build
 
 # test:rivet:
 #   image: ${DOCKER_RIVET}
 #   extends: .HEJ_test
 #   dependencies:
 #     - build:rivet
 #   script:
 #     - ctest --output-on-failure
 #     - bash -c '[ -f tst.yoda ]' && echo "found rivet output"
 #     - rivet-cmphistos tst.yoda
 #     - bash -c '[ -f MC_XS_XS.dat ]' && echo "yoda not empty"
 
 # ---------------------------------
 # -          Clean Code           -
 # ---------------------------------
 
 No_tabs:
   stage: clean_code
   tags: *tags_def
   image: hejdock/git
   dependencies: []
   script:
     - date
     - check_tabs
 
 # ----------- No gcc warnings -----------
 
 .Warning_build:
   extends: .HEJ_build
   stage: clean_code
   dependencies: []
   script:
     - cd ${t_HEJ_DIR}
     # suppress warnings from side packages
     - sed -i 's/include_directories(${LHAPDF/include_directories(SYSTEM ${LHAPDF/g' CMakeLists.txt
     - sed -i 's/include_directories(${fastjet/include_directories(SYSTEM ${fastjet/g' CMakeLists.txt
     - sed -i 's/include_directories(${Boost/include_directories(SYSTEM ${Boost/g' CMakeLists.txt
     - cd ${t_HEJ_BUILD_DIR}
     - cmake ${t_HEJ_DIR} -DCMAKE_CXX_FLAGS="-Werror"
     - make -j $(nproc --ignore=1)
   artifacts: # don't save anything
 
 .Warning_FOG:
   extends: .FOG_build
   stage: clean_code
   script:
     - cd ${t_FOG_DIR}
     # suppress warnings from side packages
     - sed -i 's/include_directories(${LHAPDF/include_directories(SYSTEM ${LHAPDF/g' CMakeLists.txt
     - sed -i 's/include_directories(${fastjet/include_directories(SYSTEM ${fastjet/g' CMakeLists.txt
     - sed -i 's/include_directories(${Boost/include_directories(SYSTEM ${Boost/g' CMakeLists.txt
     - cd ${t_FOG_BUILD_DIR}
     - cmake ${t_FOG_DIR} -DCMAKE_CXX_FLAGS="-Werror"
     - make -j $(nproc --ignore=1)
   artifacts: # don't save anything
 
 # No_Warning:basic:
 #   image: ${DOCKER_BASIC}
 #   extends: .Warning_build
 
 # No_Warning:basic:FOG:
 #   image: ${DOCKER_BASIC}
 #   extends: .Warning_FOG
 #   dependencies:
 #     - build:basic
 
 # ---------------------------------
 # -          Long tests           -
 # ---------------------------------
 
 .HEJ_test_long:
   extends: .HEJ_test
   stage: long_test
   script:
     - cmake ${t_HEJ_DIR} -DTEST_ALL=TRUE
     - ctest --output-on-failure
+  only: # only run on specific branches
+    - master
+    - /^v\d+\.\d+$/
+    - merge_requests
 
 # ----------- QCDloop -----------
 
 Long_test:qcdloop:
   image: ${DOCKER_QCDLOOP}
   extends: .HEJ_test_long
   dependencies:
     - build:qcdloop
 
 # ---------------------------------
 # -            Publish            -
 # ---------------------------------
 
 # Publish_version:
 #   stage: publish
 #   tags: *tags_def
 #   image: hejdock/git
 #   dependencies: []
 #   only:
 #     - /^v\d+\.\d+$/
 #   except:
 #     - tags
 #   when: on_success
 #   before_script:
 #     - mkdir -p .ssh/ && echo "${SSH_KEY}" > .ssh/id_rsa && chmod 0600 .ssh/id_rsa
 #     - rm -rf ~/.ssh/id_rsa; mkdir -p ~/.ssh/
 #     - ln -s $PWD/.ssh/id_rsa ~/.ssh/id_rsa && chmod 0600 ~/.ssh/id_rsa
 #     - ssh -T ${PUBLIC_GIT_PREFIX} -o "StrictHostKeyChecking no" || echo "added ssh"
 #   script:
 #     - git remote add public ${PUBLIC_GIT_PREFIX}${PUBLIC_GIT_POSTFIX}
 #     - git checkout $CI_COMMIT_REF_NAME
 #     - git branch
 #     - git pull
 #     - git push public
 #     - git push public --tags
 #   after_script:
 #     - rm -f /root/.ssh/id_rsa && rm -fr .ssh
 #     - git remote rm public