diff --git a/.docker/Dockerfile b/.docker/Dockerfile
index 97b8fdf2b5ae43dc96726e16ea21a2c6a1883fdb..c2d82496770aa069c65582f165b233819d81f2de 100644
--- a/.docker/Dockerfile
+++ b/.docker/Dockerfile
@@ -26,7 +26,7 @@ COPY . /git
 # Delete .git because it is huge.
 RUN rm -r /git/.git
 
-RUN cd /git/ && pip3 install --break-system-packages .
+RUN cd /git/loanpy && pip3 install --break-system-packages .
 
 WORKDIR /git/integrationtests
 # wait for server,
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1944b7062da4fab02dffe185215115e039514d92..08cea835a0b23ef8b2b8d03c0ccb97f58d39d074 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -19,8 +19,7 @@
 # along with this program. If not, see <https://www.gnu.org/licenses/>.
 
 variables:
-   CI_REGISTRY_IMAGE: $CI_REGISTRY/caosdb/src/linkahead-python-package-template/testenv:$CI_COMMIT_REF_NAME
-   CI_REGISTRY_IMAGE_BASE: $CI_REGISTRY/caosdb/src/caosdb-pyinttest/base:latest
+   CI_REGISTRY_IMAGE: $CI_REGISTRY/caosdb/src/linkahead-loan/testenv:$CI_COMMIT_REF_NAME
 
 stages:
   - info
@@ -32,7 +31,6 @@ stages:
 
 .env: &env
   - echo "Pipeline triggered by $TRIGGERED_BY_REPO@$TRIGGERED_BY_REF ($TRIGGERED_BY_HASH)"
-  - echo "CI_REGISTRY_IMAGE_BASE = $CI_REGISTRY_IMAGE_BASE"
   - echo "CI_REGISTRY_IMAGE = $CI_REGISTRY_IMAGE"
   - echo "CAOSDB_TAG = $CAOSDB_TAG"
   - echo "REFTAG = $REFTAG"
@@ -64,48 +62,50 @@ info:
   script:
     - *env
 
-unittest_py3.11:
-  tags: [cached-dind]
-  stage: test
-  image: $CI_REGISTRY_IMAGE
-  script:
-    - python3 -c "import sys; assert sys.version.startswith('3.11')"
-    - tox
-
-unittest_py3.8:
+unittest_py3.9:
   tags: [cached-dind]
   stage: test
-  image: python:3.8
+  variables:
+    PYVER: "3.9"
+  image: python:3.9
   script: &python_test_script
     # install dependencies
+    - *env
+    - python3 -c "import sys; assert sys.version.startswith('$PYVER')"
     - pip install pytest pytest-cov
-    - pip install .
     # actual test
-    - pytest --cov=linkahead_python_package_template -vv ./unittests
+    - cd loanpy && pip install . && pytest --cov=loanpy -vv ./unittests
 
-unittest_py3.9:
-  tags: [cached-dind]
+unittest_py3.10:
+  variables:
+    PYVER: "3.10"
   stage: test
-  image: python:3.11
+  tags: [cached-dind]
+  image: python:3.10
   script: *python_test_script
 
-unittest_py3.10:
+unittest_py3.11:
+  variables:
+    PYVER: "3.11"
   tags: [cached-dind]
   stage: test
-  image: python:3.10
+  image: python:3.11
   script: *python_test_script
 
 unittest_py3.12:
-  tags: [cached-dind]
+  variables:
+    PYVER: "3.12"
   stage: test
+  tags: [cached-dind]
   image: python:3.12
   script: *python_test_script
 
 unittest_py3.13:
-  allow_failure: true
+  variables:
+    PYVER: "3.13"
   tags: [cached-dind]
   stage: test
-  image: python:3.13-rc
+  image: python:3.13
   script: *python_test_script
 
 build-testenv:
diff --git a/loanpy/pyproject.toml b/loanpy/pyproject.toml
index c8603d8f8fe0c68c7002c156b442bb302ba5ca6f..5379cb78bc17bd8bae3ca0af9546a701d4ca12e4 100644
--- a/loanpy/pyproject.toml
+++ b/loanpy/pyproject.toml
@@ -23,9 +23,9 @@ classifiers = [
 ]
 requires-python = ">= 3.8"
 dependencies = [
-	     "caosadvancedtools",
-	     "py3-validate-email",
-             "linkahead"
+   "caosadvancedtools",
+   "py3-validate-email",
+   "linkahead"
 ]
 
 [project.urls]