diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9659cc7..87b7185 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,294 +1,296 @@
 # ---------------------------------
 # -        General Setup          -
 # ---------------------------------
 
 stages:
   - build
   - test
   - FOG:build
   - FOG:test
-  # - clean_code
-  # - publish
+  - clean_code
+  - 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: 1h # TODO change to 3d
+    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: 1h # TODO change to 1d
+    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
-    - cat info.log # TODO remove
   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: 1h # TODO change to 1d
+    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:
     - make test
   artifacts: *artifacts_failed
 
-
 # ---------------------------------
 # -         Build & Test          -
 # ---------------------------------
 
 # ----------- basic -----------
 
 build:basic:
   image: ${DOCKER_BASIC}
   extends: .HEJ_build
-  after_script:
-    - echo "basic" > ${HEJ_BUILD_DIR}/info.log # TODO remove
 
 test:basic:
   image: ${DOCKER_BASIC}
   extends: .HEJ_test
   dependencies:
     - build:basic
 
 FOG:build:basic:
   image: ${DOCKER_BASIC}
   extends: .FOG_build
-  after_script:
-    - echo "FOG basic" > ${HEJ_BUILD_DIR}/info.log # TODO remove
   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
-  after_script:
-    - echo "HepMC3" > ${HEJ_BUILD_DIR}/info.log # TODO remove
 
 test:hepmc3:
   image: ${DOCKER_HEPMC3}
   extends: .HEJ_test
   dependencies:
     - build:hepmc3
 
 
 # ----------- QCDloop -----------
 
 build:qcdloop:
   image: ${DOCKER_QCDLOOP}
   extends: .HEJ_build
-  after_script:
-    - echo "QCDloop" > ${HEJ_BUILD_DIR}/info.log # TODO remove
 
 test:qcdloop:
   image: ${DOCKER_QCDLOOP}
   extends: .HEJ_test
   dependencies:
     - build:qcdloop
 
 # ----------- rivet -----------
 
 build:rivet:
   image: ${DOCKER_RIVET}
   extends: .HEJ_build
-  after_script:
-    - echo "rivet" > ${HEJ_BUILD_DIR}/info.log # TODO remove
 
 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"
 
-## OLD:
-
-# No_tabs:
-#   stage: clean_code
-#   tags: *tags_def
-#   image: hejdock/git
-#   script:
-#     - date
-#     - check_tabs
-
-# No_warnings:
-#   stage: clean_code
-#   tags: *tags_def
-#   image: hejdock/hepenv
-#   before_script:
-#     - date
-#     - source /cvmfs/pheno.egi.eu/HEJ/HEJ_env.sh || exit 1
-#     - export t_HEJ_INSTALL_DIR=${PWD}/$HEJ_INSTALL_DIR
-#     - export t_HEJ_BUILD_DIR=${PWD}/$HEJ_BUILD_DIR
-#     - export t_HEJ_DIR=${PWD}
-#     - export LD_LIBRARY_PATH=${t_HEJ_INSTALL_DIR}/lib:${LD_LIBRARY_PATH}
-#     - export PATH=${t_HEJ_INSTALL_DIR}/bin:${PATH}
-#     - export t_FOG_BUILD_DIR=${PWD}/$FOG_BUILD_DIR
-#     - export t_FOG_DIR=${t_HEJ_DIR}/FixedOrderGen
-#     - mkdir -p ${t_HEJ_BUILD_DIR}
-#     - mkdir -p ${t_FOG_BUILD_DIR}
-#   script:
-#     - 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" -DCMAKE_INSTALL_PREFIX=${t_HEJ_INSTALL_DIR}
-#     - make -j 8
-#     - make install
-#     - cd ${t_FOG_DIR}
-#     - 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 8
-
-# .Publish:
-#   stage: publish
-#   tags: *tags_def
-#   image: hejdock/git
-#   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
-
-# Publish_version:
-#   extends: .Publish
-#   only:
-#     - /^v\d+\.\d+$/
-#   except:
-#     - tags
-#   when: on_success
+# ---------------------------------
+# -          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
+
+# ---------------------------------
+# -            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