diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 054cf58944d5b7820f1d5aaeb0a56bbb492ce829..747e768527fec27b63a5d3bb7a99a1905641a9cf 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -15,10 +15,7 @@ steve_jobs:
   tags:
     - docker
   script:
-    - go get github.com/prometheus/client_golang/prometheus
-    - go get github.com/prometheus/client_golang/prometheus/promhttp
-    - cd src/web
-    - GOBIN=${CI_PROJECT_DIR}/bin go install
+    - ./buildweb.sh
   artifacts:
     paths:
     - bin/web
diff --git a/build.sh b/build.sh
index 91bf00f275f641105c72df364394276af5a3399a..363ab44501487488807057a33a138aeb447130cb 100755
--- a/build.sh
+++ b/build.sh
@@ -1,9 +1,6 @@
 REGISTRY=$1
-grep -v '^#' versions | \
-while read -r line; do
-	maxima_version="$(echo "$line" | cut -f1)"
-	sbcl_version="$(echo "$line" | cut -f2)"
-	stack_version="$(echo "$line" | cut -f3)"
+grep -v '^#' versions | cut -f1 | \
+while read -r ver; do
 	goemaxima_version="$2"
-	./buildimage.sh "${sbcl_version}" "${maxima_version}" "$stack_version" "stack/$stack_version/maxima" "${REGISTRY}" "$goemaxima_version" || exit 1
+	./buildimage.sh "$ver" "${REGISTRY}" "$goemaxima_version" || exit 1
 done
diff --git a/buildimage.sh b/buildimage.sh
index 6dc35cda0ca7e073354fa70534fdf7f212fad170..8531a52fc8bdad08d24faafba28aa71adb1d4210 100755
--- a/buildimage.sh
+++ b/buildimage.sh
@@ -1,26 +1,38 @@
-##/bin/bash
-# arg1: sbcl version
-# arg2: maxima version
-# arg3: stack or moodle version: "stack-XXX" or "moodlev.X"
-# arg4: LIB_PATH
-# arg5: REGISTRY or dockerhub id
-# arg6: version of goemaxima
-#
+#!/bin/bash
+# arg1: stack or moodle version: "stack-XXX" or "moodlev.X"
+# arg2: REGISTRY or dockerhub id
+
+stackver="$1"
+if [ -z "$stackver" ]; then
+	echo "Stack version is missing"
+	echo "Usage: $0 stackmaximaversion [registry] [containerversion]"
+fi
+verstring=$(awk '$1 == "'"$1"'"{ print $0 }' versions)
+sbclver="$(echo "$verstring" | cut -f2)"
+maximaver="$(echo "$verstring" | cut -f3)"
+goemaxver="$(cat goemaxima_version)"
+libpath="stack/$stackver/maxima"
 echo "starting to build image for:"
-echo "sbcl: $1"
-echo "maxima: $2"
-echo "stack: $3"
-IMAGENAME="goemaxima:$3"
-docker pull "$5/$IMAGENAME-dev"
+echo "sbcl: $maximaver"
+echo "maxima: $sbclver"
+echo "stackmaxima: $stackver"
+echo "goemaxima: $goemaxver"
+REG="$2"
+IMAGENAME="goemaxima:$1"
+if [ -n "$REG" ]; then
+	docker pull "$2/$IMAGENAME-dev"
+fi
 # build it
-docker build -t "${IMAGENAME}" --build-arg MAXIMA_VERSION="$2" --build-arg SBCL_VERSION="$1" --build-arg LIB_PATH="$4" . || exit 1
+docker build -t "${IMAGENAME}" --build-arg MAXIMA_VERSION="$maximaver" --build-arg SBCL_VERSION="$sbclver" --build-arg LIB_PATH="$libpath" . || exit 1
 echo "${IMAGENAME} wurde erfolgreich gebaut."
 # push the image
-docker tag "$IMAGENAME" "$5/$IMAGENAME-dev"
-docker push "$5/$IMAGENAME-dev"
-if [ -n "$6" ]; then
-	docker tag "$IMAGENAME" "$5/$IMAGENAME-$6"
-	docker push "$5/$IMAGENAME-$6"
-	docker tag "$IMAGENAME" "$5/$IMAGENAME-latest"
-	docker push "$5/$IMAGENAME-latest"
+if [ -n "$REG" ]; then
+	docker tag "$IMAGENAME" "$2/$IMAGENAME-dev"
+	docker push "$2/$IMAGENAME-dev"
+	if [ -n "$3" ]; then
+		docker tag "$IMAGENAME" "$2/$IMAGENAME-$3"
+		docker push "$2/$IMAGENAME-$3"
+		docker tag "$IMAGENAME" "$2/$IMAGENAME-latest"
+		docker push "$2/$IMAGENAME-latest"
+	fi
 fi
diff --git a/buildweb.sh b/buildweb.sh
new file mode 100755
index 0000000000000000000000000000000000000000..466f84b50be96590401cf3aaba303724cac9e065
--- /dev/null
+++ b/buildweb.sh
@@ -0,0 +1,4 @@
+go get github.com/prometheus/client_golang/prometheus
+go get github.com/prometheus/client_golang/prometheus/promhttp
+GOBIN=$(realpath bin) go install ./src/web
+
diff --git a/goemaxima_version b/goemaxima_version
new file mode 100644
index 0000000000000000000000000000000000000000..6d7de6e6abef13b18021a3591debc53ac00616d4
--- /dev/null
+++ b/goemaxima_version
@@ -0,0 +1 @@
+1.0.2
diff --git a/versions b/versions
index b12e282c3f8cc8a002adeb39cc0748f07027f354..d045f08597d55765d2b6114054184cc365f7cd8e 100644
--- a/versions
+++ b/versions
@@ -1,10 +1,10 @@
 # maxima,sbcl,stack
-5.41.0	2.0.2	2014083000
-5.41.0	2.0.2	2017121800 
-5.41.0	2.0.2	2018030500 
-5.41.0	2.0.2	2018080600 
-5.41.0	2.0.2	2019090200 
-5.41.0	2.0.2	2020042000
-5.41.0	2.0.2	2020052700
-5.41.0	2.0.2	2020061000
-5.41.0	2.0.2	2020070100
+2014083000	5.41.0	2.0.2	
+2017121800	5.41.0	2.0.2	
+2018030500	5.41.0	2.0.2	
+2018080600	5.41.0	2.0.2	
+2019090200	5.41.0	2.0.2	
+2020042000	5.41.0	2.0.2	
+2020052700	5.41.0	2.0.2	
+2020061000	5.41.0	2.0.2	
+2020070100	5.41.0	2.0.2