diff --git a/.gitsuper b/.gitsuper
index 6683d8792151bf71523a582fd8c3b4faea3b9a79..455477779eefc9b8fc371866293daf13aec708a9 100644
--- a/.gitsuper
+++ b/.gitsuper
@@ -13,11 +13,11 @@ status = 1a3bcab04b011a5d6e44f9983cae6ff89fa695e8 bin (heads/master)
 	 741e4f8e53bdd3e1b6e19d84eb22b6e3dc48526c dune-python (remotes/origin/releases/2.5)
 	 26cc8cb4161a3a51002ab2a81b8c81d2c951ee79 dune-testtools (26cc8cb)
 	 8fe883e99c58c9f0c2f92457d546a0ac9f5a9bf9 dune-uggrid (v2.5.2-1-g8fe883e9)
-	+a20b5af287bb25e398f052b0612a13d499cb107a dune-xt-common (heads/python_ci)
-	+66975c2fdb538d05ff26804d74224034f59a369b dune-xt-data (heads/python_ci)
-	+cdd9363e2cfb82dc212180b96e70deceae54bc70 dune-xt-functions (heads/python_ci)
-	+0bc75957f57b5423a64dd108204adf961e382851 dune-xt-grid (heads/python_ci)
-	+0b70e09006fed109e6b1a1be0bf8ab28e1773c98 dune-xt-la (heads/python_ci)
+	+256843793243537a9b025aef9ef0526ba3c6bf50 dune-xt-common (heads/python_ci)
+	+556189f79e10e2207737ce1918d353e244074ce8 dune-xt-data (heads/python_ci)
+	+a0d7913d380446f770b017a7e8b9d8cca93867ed dune-xt-functions (heads/python_ci)
+	+61220c23f19cfad9e361c964a28a2a774e3cf37a dune-xt-grid (heads/python_ci)
+	+66dfcc836943c35fe120b7eb7aa08b38bf5c4143 dune-xt-la (heads/python_ci)
 	 09d0378f616b94d68bcdd9fc6114813181849ec0 scripts (remotes/origin/HEAD)
 commit = 5b6faba429f85b51305b2fff490df68b7edb097d
 
@@ -89,27 +89,27 @@ commit = 8fe883e99c58c9f0c2f92457d546a0ac9f5a9bf9
 [submodule.dune-xt-common]
 remote = git@github.com:dune-community/dune-xt-common.git
 status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (remotes/origin/HEAD)
-commit = a20b5af287bb25e398f052b0612a13d499cb107a
+commit = 256843793243537a9b025aef9ef0526ba3c6bf50
 
 [submodule.dune-xt-data]
 remote = https://github.com/dune-community/dune-xt-data
 status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (heads/master)
-commit = 66975c2fdb538d05ff26804d74224034f59a369b
+commit = 556189f79e10e2207737ce1918d353e244074ce8
 
 [submodule.dune-xt-functions]
 remote = git@github.com:dune-community/dune-xt-functions.git
 status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (remotes/origin/HEAD)
-commit = cdd9363e2cfb82dc212180b96e70deceae54bc70
+commit = a0d7913d380446f770b017a7e8b9d8cca93867ed
 
 [submodule.dune-xt-grid]
 remote = git@github.com:dune-community/dune-xt-grid.git
 status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (remotes/origin/HEAD)
-commit = 0bc75957f57b5423a64dd108204adf961e382851
+commit = 61220c23f19cfad9e361c964a28a2a774e3cf37a
 
 [submodule.dune-xt-la]
 remote = git@github.com:dune-community/dune-xt-la.git
 status = 2424627f0ad5de7e4aaa5e7f48bc2a02414d95a1 .vcsetup (remotes/origin/HEAD)
-commit = 0b70e09006fed109e6b1a1be0bf8ab28e1773c98
+commit = 66dfcc836943c35fe120b7eb7aa08b38bf5c4143
 
 [submodule.scripts]
 remote = https://github.com/wwu-numerik/scripts.git
diff --git a/.travis.yml b/.travis.yml
index 81f9d848987cddfdc58b20cf7a22936c5b7aed63..39ad2b80ae3525909d77ffe2ed10fbc3693d4706 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -12,27 +12,30 @@
 #   THIS FILE IS AUTOGENERATED -- DO NOT EDIT  #
 #  Re-run .ci/templates/update.py --nd instead #
 
-sudo: false
+sudo: true
 dist: trusty
 language: generic
 services: docker
 
 before_script:
-    - export IMAGE="dunecommunity/dune-xt-la-testing_${DOCKER_TAG}:${TRAVIS_BRANCH}"
-    # get image with fallback to master branch of the super repo
-    - docker pull ${IMAGE} || export IMAGE="dunecommunity/dune-xt-la-testing_${DOCKER_TAG}:master" ; docker pull ${IMAGE}
     - export MY_MODULE=dune-xt-la
+    - export BASEIMAGE="${MY_MODULE}-testing_${DOCKER_TAG}:${TRAVIS_BRANCH}"
+    - export IMAGE="dunecommunity/ci_${MY_MODULE}-testing_${DOCKER_TAG}:${TRAVIS_COMMIT}"
+    # get image with fallback to master branch of the super repo
+    - docker pull dunecommunity/${BASEIMAGE} || export BASEIMAGE="${MY_MODULE}-testing_${DOCKER_TAG}:master" ; docker pull dunecommunity/${BASEIMAGE}
+    - docker build --build-arg BASE=${BASEIMAGE} -t ${IMAGE} -f .ci/docker/Dockerfile .
+    
     - export ENV_FILE=${HOME}/env
     - python3 ./.travis.make_env_file.py
     - docker inspect ${IMAGE}
-    - export DOCKER_RUN="docker run --env-file ${ENV_FILE} -v ${TRAVIS_BUILD_DIR}:/root/src/dune-xt-la ${IMAGE}"
+    - export DOCKER_RUN="docker run --env-file ${ENV_FILE} -v ${TRAVIS_BUILD_DIR}:/home/dune-ci/src/dune-xt-la ${IMAGE}"
 
 script:
-    - ${DOCKER_RUN} /root/src/dune-xt-la/.travis.script.bash
+    - ${DOCKER_RUN} /home/dune-ci/src/dune-xt-la/.travis.script.bash
 
 # runs independent of 'script' failure/success
 after_script:
-    - ${DOCKER_RUN} /root/src/dune-xt-la/.travis.after_script.bash
+    - ${DOCKER_RUN} /home/dune-ci/src/dune-xt-la/.travis.after_script.bash
     # output for simpler replicability
     - docker images ${IMAGE}
     - echo ${DOCKER_RUN}
@@ -42,11 +45,6 @@ notifications:
   email:
     on_success: change
     on_failure: change
-  webhooks:
-    - https://buildtimetrend.herokuapp.com/travis
-
-#after_success:
-#- coveralls
 
 branches:
   except:
@@ -75,17 +73,17 @@ jobs:
     
   - stage: test_python
     env: DOCKER_TAG=debian-unstable_gcc_full
-    script: ${DOCKER_RUN} /root/src/dune-xt-la/.travis.test_python.bash
+    script: ${DOCKER_RUN} /home/dune-ci/src/dune-xt-la/.travis.test_python.bash
     # overwrite other global/matrix settings
     after_script: true
   - stage: test_python
     env: DOCKER_TAG=debian_gcc_full
-    script: ${DOCKER_RUN} /root/src/dune-xt-la/.travis.test_python.bash
+    script: ${DOCKER_RUN} /home/dune-ci/src/dune-xt-la/.travis.test_python.bash
     # overwrite other global/matrix settings
     after_script: true
   - stage: test_python
     env: DOCKER_TAG=debian_clang_full
-    script: ${DOCKER_RUN} /root/src/dune-xt-la/.travis.test_python.bash
+    script: ${DOCKER_RUN} /home/dune-ci/src/dune-xt-la/.travis.test_python.bash
     # overwrite other global/matrix settings
     after_script: true