diff --git a/centos-7/Dockerfile b/centos-7/Dockerfile
index c113e7383f35238ca8acb55e9ac8c8e81acd842f..7a898f5babedb92d02a21c0fd7a9c51b8f2109f2 100644
--- a/centos-7/Dockerfile
+++ b/centos-7/Dockerfile
@@ -4,13 +4,18 @@ FROM centos:7
 LABEL maintainer="Moritz Maxeiner <moritz.maxeiner@fu-berlin.de>"
 LABEL authors="Moritz Maxeiner <moritz.maxeiner@fu-berlin.de>"
 
+# GCC
+ENV BASH_ENV "/etc/profile"
 RUN yum install -y centos-release-scl && \
     yum install -y epel-release && \
+    yum install -y devtoolset-8 && \
+    yum clean all
+ADD gcc-8.sh /etc/profile.d/gcc-8.sh
+ADD ld-library-path.sh /etc/profile.d/ld-library-path.sh
+
+# CMake
+RUN version=3.15.5 && \
     yum install -y \
-        devtoolset-8 \
-        ninja-build \
-        bzip2 \
-        desktop-file-utils \
         curl-devel \
         expat-devel \
         zlib-devel \
@@ -20,12 +25,7 @@ RUN yum install -y centos-release-scl && \
         rhash-devel \
         libuv-devel \
         && \
-    ln -s /usr/bin/ninja-build /usr/local/bin/ninja && \
-    yum clean all
-ADD gcc-8.sh /etc/profile.d/gcc-8.sh
-ENV BASH_ENV "/etc/profile"
-
-RUN version=3.15.5 && \
+    yum clean all && \
     source /etc/profile && \
     cd /tmp && \
     curl -sSLO https://cmake.org/files/v${version%.*}/cmake-${version}.tar.gz && \
@@ -36,12 +36,19 @@ RUN version=3.15.5 && \
     cd .. && \
     rm -rf cmake-${version}*
 
+# Ninja
+RUN yum install -y ninja-build && \
+    ln -s /usr/bin/ninja-build /usr/local/bin/ninja && \
+    yum clean all
+
+# Python 3.6
 RUN yum install -y \
         python36-devel \
         python36-numpy \
         && \
     yum clean all
 
+# CUDA
 RUN yum install -y dkms && \
     cd /tmp && \
     curl -sSLO https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-10.1.243-1.x86_64.rpm && \
@@ -50,14 +57,16 @@ RUN yum install -y dkms && \
     yum install -y cuda-10-1 && \
     yum clean all
 
-RUN yum install -y \
+# FFmpeg
+RUN version=4.2.1 && \
+    yum install -y \
         nasm \
         libass-devel \
         libtheora-devel \
         libvorbis-devel \
-        freetype-devel
-
-RUN version=4.2.1 && \
+        freetype-devel  \
+        && \
+    yum clean all && \
     source /etc/profile && \
     cd /tmp && \
     curl -sSLO http://ffmpeg.org/releases/ffmpeg-${version}.tar.gz && \
@@ -68,7 +77,12 @@ RUN version=4.2.1 && \
     cd .. && \
     rm -rf ffmpeg-${version}*
 
+# HDF
 RUN version=1.10.5 && \
+    yum install -y \
+        bzip2 \
+        && \
+    yum clean all && \
     source /etc/profile && \
     cd /tmp && \
     curl -sSLO https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${version%.*}/hdf5-${version}/src/hdf5-${version}.tar.bz2 && \
@@ -81,7 +95,32 @@ RUN version=1.10.5 && \
     cd .. && \
     rm -rf hdf5-${version}*
 
-RUN yum install -y \
+# Qt
+ENV Qt5_DIR /opt/qt5/5.12.6/gcc_64/lib/cmake/Qt5
+ADD qtifwsilent.qs /tmp/qtifwsilent.qs
+RUN version=5.12.6 && \
+    cd /tmp && \
+    curl -sSLO https://download.qt.io/official_releases/qt/${version%.*}/${version}/qt-opensource-linux-x64-${version}.run && \
+    chmod +x qt-opensource-linux-x64-${version}.run && \
+    env QT_INSTALL_DIR=/opt/qt5 ./qt-opensource-linux-x64-${version}.run --script qtifwsilent.qs -platform minimal && \
+    rm -f qt-opensource-linux-x64-${version}.run && \
+    rm -f qtifwsilent.qs
+
+# linuxdeployqt
+RUN version=6 && \
+    yum install -y \
+        desktop-file-utils \
+        && \
+    cd /opt && \
+    curl -sSLO https://github.com/probonopd/linuxdeployqt/releases/download/${version}/linuxdeployqt-${version}-x86_64.AppImage && \
+    chmod +x linuxdeployqt-${version}-x86_64.AppImage && \
+    ./linuxdeployqt-${version}-x86_64.AppImage --appimage-extract && \
+    mv squashfs-root linuxdeployqt-${version} && \
+    ln -s /opt/linuxdeployqt-${version}/AppRun /usr/local/bin/linuxdeployqt
+
+# OpenCV
+RUN version=3.4.8 && \
+    yum install -y \
         libpng-devel \
         jasper-devel \
         openexr-devel \
@@ -101,27 +140,8 @@ RUN yum install -y \
         gstreamer-plugins-base-devel \
         tesseract-devel \
         harfbuzz-devel \
-    && \
-    yum clean all
-
-ENV Qt5_DIR /opt/qt5/5.12.6/gcc_64/lib/cmake/Qt5
-ADD qtifwsilent.qs /tmp/qtifwsilent.qs
-RUN version=5.12.6 && \
-    cd /tmp && \
-    curl -sSLO https://download.qt.io/official_releases/qt/${version%.*}/${version}/qt-opensource-linux-x64-${version}.run && \
-    chmod +x qt-opensource-linux-x64-${version}.run && \
-    env QT_INSTALL_DIR=/opt/qt5 ./qt-opensource-linux-x64-${version}.run --script qtifwsilent.qs -platform minimal && \
-    rm -f qt-opensource-linux-x64-${version}.run && \
-    rm -f qtifwsilent.qs && \
-    version=6 && \
-    cd /opt && \
-    curl -sSLO https://github.com/probonopd/linuxdeployqt/releases/download/${version}/linuxdeployqt-${version}-x86_64.AppImage && \
-    chmod +x linuxdeployqt-${version}-x86_64.AppImage && \
-    ./linuxdeployqt-${version}-x86_64.AppImage --appimage-extract && \
-    mv squashfs-root linuxdeployqt-${version} && \
-    ln -s /opt/linuxdeployqt-${version}/AppRun /usr/local/bin/linuxdeployqt
-
-RUN version=3.4.8 && \
+        && \
+    yum clean all && \
     source /etc/profile && \
     cd /tmp && \
     curl -sSL -o opencv-${version}.zip https://github.com/opencv/opencv/archive/${version}.zip && \
@@ -171,6 +191,7 @@ RUN version=3.4.8 && \
         && \
     ninja -C build install
 
+# MXNet
 ENV MXNet_DIR /opt/mxnet-3.5.1
 RUN version=1.5.1 && \
     source /etc/profile && \
@@ -196,6 +217,7 @@ RUN version=1.5.1 && \
         && \
     ninja -C build
 
+# pybind11
 RUN version=2.3.0 && \
     source /etc/profile && \
     cd /tmp && \
@@ -210,6 +232,7 @@ RUN version=2.3.0 && \
     cd .. && \
     rm -rf pybind11-${version}*
 
+# rpclib
 RUN version=2.2.1 && \
     source /etc/profile && \
     cd /tmp && \
@@ -223,13 +246,13 @@ RUN version=2.2.1 && \
     cd .. && \
     rm -rf rpclib-${version}*
 
-RUN yum install -y \
+# Python 3.7
+RUN version=3.7.5 && \
+    yum install -y \
         openssl-devel \
         libffi-devel \
         && \
-    yum clean all
-
-RUN version=3.7.5 && \
+    yum clean all && \
     source /etc/profile && \
     cd /tmp && \
     curl -sSLO https://www.python.org/ftp/python/${version}/Python-${version}.tgz && \
@@ -248,11 +271,11 @@ RUN version=3.7.5 && \
     rm -rf Pyhon-${version}* && \
     ldconfig
 
+# SSL access to custom pypiserver
 ADD agki-nas01.imp.fu-berlin.de-ca-cert.crt /etc/pki/ca-trust/source/anchors/agki-nas01.imp.fu-berlin.de-ca-cert.crt
 RUN update-ca-trust
 
-ADD ld-library-path.sh /etc/profile.d/ld-library-path.sh
-
+# Potential runtime dependencies for AppImages
 RUN yum install -y \
         libxkbcommon-x11 \
         && \