diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3d7565bcc0a0fb43fd5922af67b7e6ff4da09184..ffd321cbd344bd30643c9238759303b11b043cc8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,7 +1,7 @@
 image: docker-registry.schukai.com:443/nixos-ci-devenv:latest
 
-services:
-  - docker:dind
+#services:
+#  - docker:dind
 
 
 variables:
@@ -10,7 +10,7 @@ variables:
   NIXOS_VERSION: "23.05"
   NIXPKGS_ALLOW_UNFREE: "1"
   NIXPKGS_ALLOW_INSECURE: "1"
-  DOCKER_DRIVER: overlay2
+#  DOCKER_DRIVER: overlay2
   GIT_DEPTH: 10
 
 
@@ -19,8 +19,8 @@ stages:
   - deploy
 
 before_script:
-  - nix shell nixpkgs#coreutils-full -c mkdir -p /certs/client/
-  - nix shell nixpkgs#coreutils-full -c ln -fs /etc/ssl/certs/ca-bundle.crt /certs/client/ca.pem
+#  - nix shell nixpkgs#coreutils-full -c mkdir -p /certs/client/
+#  - nix shell nixpkgs#coreutils-full -c ln -fs /etc/ssl/certs/ca-bundle.crt /certs/client/ca.pem
   - echo > .env-gitlab-ci
   - variables=("HOME=$HOME" "CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME" "CI_REPOSITORY_URL=$CI_REPOSITORY_URL" "GITLAB_TOKEN=$GITLAB_TOKEN" "CI_JOB_TOKEN=$CI_JOB_TOKEN" "GITLAB_USER_EMAIL=$GITLAB_USER_EMAIL" "GITLAB_USER_NAME=\"$GITLAB_USER_NAME\"" "CI_REGISTRY_USER=$CI_REGISTRY_USER" "CI_PROJECT_ID=$CI_PROJECT_ID" "CI_PROJECT_DIR=$CI_PROJECT_DIR" "CI_API_V4_URL=$CI_API_V4_URL" "CI_PROJECT_NAME=$CI_PROJECT_NAME" "CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA"); for var in "${variables[@]}"; do echo "$var" >> .env-gitlab-ci; done
   - cat .env-gitlab-ci
diff --git a/Taskfile.yml b/Taskfile.yml
index adca507c01815ac863d31cb599de1917770a0498..2cdea975533c8870ce1f8045701f796c843df46c 100644
--- a/Taskfile.yml
+++ b/Taskfile.yml
@@ -22,3 +22,10 @@ tasks:
       - source/**/*.go
       - source/**/*.mod
       - dist/**
+
+  calc-nix-hash:
+    desc: Calculate the nix hash
+    aliases:
+      - ch
+    cmds:
+      - calc-nix-hash
diff --git a/devenv.lock b/devenv.lock
index 355312b47897fe01c8d4717420c73d5e8fd3901c..b187f601b1046abbaa7e59ca795718f0a6928e1c 100644
--- a/devenv.lock
+++ b/devenv.lock
@@ -3,11 +3,11 @@
     "devenv": {
       "locked": {
         "dir": "src/modules",
-        "lastModified": 1690638457,
-        "narHash": "sha256-3EBd8PHd0lbSCMief9eQdzTOvEofnB3koR+Q4wvvDbA=",
+        "lastModified": 1699273601,
+        "narHash": "sha256-rBTtJ3Vln63RwzyVFzcAy6hW5mXTZOLXwJ/p5Sz0T5k=",
         "owner": "cachix",
         "repo": "devenv",
-        "rev": "da313abf0fb6d21210f6d555acabf40425e080f1",
+        "rev": "af34c270e708675c02831c5a4d6d1d3d6efb0854",
         "type": "github"
       },
       "original": {
@@ -74,11 +74,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1690558459,
-        "narHash": "sha256-5W7y1l2cLYPkpJGNlAja7XW2X2o9rjf0O1mo9nxS9jQ=",
+        "lastModified": 1699169573,
+        "narHash": "sha256-cvUb1xZkvOp3W2SzylStrTirhVd9zCeo5utJl9nSIhw=",
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "48e82fe1b1c863ee26a33ce9bd39621d2ada0a33",
+        "rev": "aeefe2054617cae501809b82b44a8e8f7be7cc4b",
         "type": "github"
       },
       "original": {
@@ -106,11 +106,11 @@
     },
     "nixpkgs_2": {
       "locked": {
-        "lastModified": 1690558459,
-        "narHash": "sha256-5W7y1l2cLYPkpJGNlAja7XW2X2o9rjf0O1mo9nxS9jQ=",
+        "lastModified": 1699169573,
+        "narHash": "sha256-cvUb1xZkvOp3W2SzylStrTirhVd9zCeo5utJl9nSIhw=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "48e82fe1b1c863ee26a33ce9bd39621d2ada0a33",
+        "rev": "aeefe2054617cae501809b82b44a8e8f7be7cc4b",
         "type": "github"
       },
       "original": {
@@ -130,11 +130,11 @@
         "nixpkgs-stable": "nixpkgs-stable"
       },
       "locked": {
-        "lastModified": 1690628027,
-        "narHash": "sha256-OTSbA2hM6VmxyZ/4siYPANffMBzIsKu04GLjXcv8ST0=",
+        "lastModified": 1699271226,
+        "narHash": "sha256-8Jt1KW3xTjolD6c6OjJm9USx/jmL+VVmbooADCkdDfU=",
         "owner": "cachix",
         "repo": "pre-commit-hooks.nix",
-        "rev": "1e2443dd3f669eb65433b2fc26a3065e05a7dc9c",
+        "rev": "ea758da1a6dcde6dc36db348ed690d09b9864128",
         "type": "github"
       },
       "original": {
diff --git a/devenv.nix b/devenv.nix
index 0e1b006ec90543f784822ed182483dfc4d6c7d39..7892c37d46234c732f02172885d179b1d37f500e 100644
--- a/devenv.nix
+++ b/devenv.nix
@@ -6,34 +6,34 @@
   env.APP_NAME = "bob";
 
   # https://devenv.sh/packages/
-  packages = [
+  packages = with pkgs; [
     inputs.version.defaultPackage."${builtins.currentSystem}"
-    pkgs.git
-    pkgs.gcc12
-    pkgs.go-task
-    pkgs.blackbox
-    pkgs.blackbox-terminal
-    pkgs.jq
-    pkgs.delve
-    pkgs.gdlv
-    pkgs.wget
-    pkgs.glab
-    pkgs.unixtools.xxd
-    pkgs.libffi
-    pkgs.zlib
-    pkgs.procps
-    pkgs.php81Extensions.xdebug
-    pkgs.ranger
-    pkgs.meld
-    pkgs.gnused
-    pkgs.coreutils-full
-    pkgs.gnugrep
-    pkgs.gnumake
-    pkgs.util-linux
-    pkgs.httpie
-    pkgs.netcat
-    pkgs.memcached
-    pkgs.fd    
+    git
+    gcc12
+    go-task
+    blackbox
+    blackbox-terminal
+    jq
+    delve
+    gdlv
+    wget
+    glab
+    unixtools.xxd
+    libffi
+    zlib
+    procps
+    php81Extensions.xdebug
+    ranger
+    meld
+    gnused
+    coreutils-full
+    gnugrep
+    gnumake
+    util-linux
+    httpie
+    netcat
+    memcached
+    fd    
   ];
 
 
@@ -45,6 +45,27 @@
   
    difftastic.enable = true;
 
+
+  scripts.calc-nix-hash.exec = ''
+  
+cat <<'EOF' > ${config.devenv.root}/hashes.nix
+{
+  hashValue = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
+}
+EOF
+
+HASH=$(nix build 2>&1 | grep 'got:'  | awk '{print $2}')
+
+cat <<EOF > ${config.devenv.root}/hashes.nix
+{
+    hashValue = "''${HASH}";
+}
+EOF
+
+nix build
+
+  
+  '';
     
   # This script is executed when the app is built
   # You can use it to build the app  
diff --git a/examples/example1/pages/en.yaml b/examples/example1/pages/en.yaml
index d7c632d306c83faed8c736fd8870fe60533318cc..f49c00bad86635af2eba4486b860b0d12c336fc6 100755
--- a/examples/example1/pages/en.yaml
+++ b/examples/example1/pages/en.yaml
@@ -1,10 +1,10 @@
 test.html:
     export: en/test.html
     lang: en
-    title: Bad Request
+    title: Bad Request!!!
     meta:
         author: schukai GmbH
-        description: The request was malformed or invalid.
+        description: The request was malformed or invalid.??
     images:
         - id: tickyesdata-image-gi-4013311193
           source: |-
diff --git a/flake.nix b/flake.nix
index c5296dc78c69d668f00b9c900d2d951a56b76e14..c2e4d488fc1be967dfe1d2fd6ab039213be8457a 100644
--- a/flake.nix
+++ b/flake.nix
@@ -28,6 +28,7 @@
       packages = forAllSystems (system:
         let
           pkgs = nixpkgsFor.${system};
+          hashes = import ./hashes.nix;
         in
         {
           bob = pkgs.buildGoModule {
@@ -35,18 +36,7 @@
             # In 'nix develop', we don't need a copy of the source tree
             # in the Nix store.
             src = ././source;
-
-            # This hash locks the dependencies of this package. It is
-            # necessary because of how Go requires network access to resolve
-            # VCS.  See https://www.tweag.io/blog/2021-03-04-gomod2nix/ for
-            # details. Normally one can build with a fake sha256 and rely on native Go
-            # mechanisms to tell you what the hash should be or determine what
-            # it should be "out-of-band" with other tooling (eg. gomod2nix).
-            # To begin with it is recommended to set this, but one must
-            # remeber to bump this hash when your dependencies change.
-            #vendorSha256 = pkgs.lib.fakeSha256;
-
-            vendorSha256 = "sha256-XdB+u94Rqsb29jVs4miyOq1NEYaVJHWFXg6QebFJzNQ=";
+           vendorSha256 = hashes.hashValue;
 
 
             meta = with nixpkgs.legacyPackages.${system}.lib; {
diff --git a/hashes.nix b/hashes.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f665ca3e4efb39087fad610028da706f252992cd
--- /dev/null
+++ b/hashes.nix
@@ -0,0 +1,3 @@
+{
+    hashValue = "sha256-FxDNgeg6Ft3jvtJBojhqYbohGDZCY6TNAhpY/j41OVQ=";
+}
diff --git a/source/go.mod b/source/go.mod
index 2ed1d0a8429ee54d3bd430d4921c6de7d903e065..f7a0da4a3e4ad42610709f56248b97ee81b0dcf6 100644
--- a/source/go.mod
+++ b/source/go.mod
@@ -4,15 +4,15 @@ go 1.20
 
 require (
 	github.com/andybalholm/cascadia v1.3.2
-	gitlab.schukai.com/oss/libraries/go/application/xflags v1.16.0
-	gitlab.schukai.com/oss/libraries/go/markup/html v0.4.0
-	golang.org/x/crypto v0.11.0
-	golang.org/x/net v0.12.0
+	gitlab.schukai.com/oss/libraries/go/application/xflags v1.16.2
+	gitlab.schukai.com/oss/libraries/go/markup/html v0.4.1
+	golang.org/x/crypto v0.14.0
+	golang.org/x/net v0.17.0
 	gopkg.in/yaml.v3 v3.0.1
 )
 
 require (
 	github.com/volker-schukai/tokenizer v1.0.0 // indirect
 	gitlab.schukai.com/oss/libraries/go/utilities/data.git v0.2.0 // indirect
-	gitlab.schukai.com/oss/libraries/go/utilities/pathfinder v0.5.2 // indirect
+	gitlab.schukai.com/oss/libraries/go/utilities/pathfinder v0.9.2 // indirect
 )
diff --git a/source/go.sum b/source/go.sum
index 59eaad25fbd3cdeccfdbf33284c1a7375234fddc..968a03fabe0306c2ed7d4cc01772966e9562536c 100644
--- a/source/go.sum
+++ b/source/go.sum
@@ -16,14 +16,20 @@ gitlab.schukai.com/oss/libraries/go/application/xflags v1.13.2 h1:3nRDFUs629qL8E
 gitlab.schukai.com/oss/libraries/go/application/xflags v1.13.2/go.mod h1:EEYPy5RYR4ahK9J6CTKSLFHUhP+ndHBWVdQMtGCFqDo=
 gitlab.schukai.com/oss/libraries/go/application/xflags v1.16.0 h1:Z2XHuqbg4BIsYT+cM/Wz6gmbwm3wGRoD+yyhkxqlMy0=
 gitlab.schukai.com/oss/libraries/go/application/xflags v1.16.0/go.mod h1:7haFwiRz+5kmVIiYp9LMp7g/flY034aolZ4tsH9Elkk=
+gitlab.schukai.com/oss/libraries/go/application/xflags v1.16.2 h1:kriz76Z/wK4nrsjGFQQUfVL9PaPalG7EXqkhIBF4jaE=
+gitlab.schukai.com/oss/libraries/go/application/xflags v1.16.2/go.mod h1:XanOu43r2J41lDIUviS4Qlxy5W3G9aNgWgvPs4EusUE=
 gitlab.schukai.com/oss/libraries/go/markup/html v0.3.0 h1:RvEQgV6yj8M1SjmR/FZwmwykfJSbHrDk8m7IIlujhxY=
 gitlab.schukai.com/oss/libraries/go/markup/html v0.3.0/go.mod h1:h0+dJUwXfF1QeaBxFiidgxA2I3A9qIPE+zhfs88pKV8=
 gitlab.schukai.com/oss/libraries/go/markup/html v0.4.0 h1:gnYhE5PAN5KxsRILVl3y3uPgDNLgHRQCJx2VO8h92Cg=
 gitlab.schukai.com/oss/libraries/go/markup/html v0.4.0/go.mod h1:HzmuHp0kWeICctL/lVz8up2qkyHxI1R48FojgF/aKs4=
+gitlab.schukai.com/oss/libraries/go/markup/html v0.4.1 h1:mhdtBk9R6hqrri02I37YpiBUDbYwox8M1dwMvehEbIU=
+gitlab.schukai.com/oss/libraries/go/markup/html v0.4.1/go.mod h1:wGflhyJwSo85kvACamW8pBSUvndBPG3aYW6GfJK4LQA=
 gitlab.schukai.com/oss/libraries/go/utilities/data.git v0.2.0 h1:JVxMHiA8zFVjJDhNl65XeYrhdMkzB+5dyrBUEZ982WU=
 gitlab.schukai.com/oss/libraries/go/utilities/data.git v0.2.0/go.mod h1:BsR4Y9jsvISplkW6UoLFRGxQX69/AUmP1SXRwWhx31o=
 gitlab.schukai.com/oss/libraries/go/utilities/pathfinder v0.5.2 h1:R+dL2NJCM+AQNPK4DPDmfvx1eomi1Xb1dl0XKEFj7Ek=
 gitlab.schukai.com/oss/libraries/go/utilities/pathfinder v0.5.2/go.mod h1:UvdD4NAf3gLKYafabJD7e9ZCOetzM9JZ9y4GkZukPVU=
+gitlab.schukai.com/oss/libraries/go/utilities/pathfinder v0.9.2 h1:cbrnohA6SyqH6NGvYDyIFcrh3lH4DcwLcGUbmaSKWlY=
+gitlab.schukai.com/oss/libraries/go/utilities/pathfinder v0.9.2/go.mod h1:MqCBFv7DXKoBE2rZDc51LGvl2QI7Kz0D+XkQ0izj+ws=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc=
@@ -32,6 +38,8 @@ golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM=
 golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I=
 golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA=
 golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
+golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
+golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -45,6 +53,8 @@ golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU=
 golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ=
 golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50=
 golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
+golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
+golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=