diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterResource.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterResource.java
index 3786c9c..948ef4b 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterResource.java
@@ -55,7 +55,7 @@
     var mailText = Templates.registrationMail(subscription.registrationKey);
     var sendJob = mailText.subject("MulkCMS newsletter registration").to(email).send();
     var page = Templates.completeRegistration().render();
-    return sendJob.thenApply((x) -> page);
+    return sendJob.onItem().transform(x -> page).subscribeAsCompletionStage();
   }
 
   @GET
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSender.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSender.java
index 8c8c9b6..1dacccc 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSender.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSender.java
@@ -106,7 +106,7 @@
             .to(senderAddress)
             .bcc(subscriberEmails)
             .send();
-    sendJob.toCompletableFuture().get(10000, TimeUnit.SECONDS);
+    sendJob.subscribe().asCompletionStage().get(10000, TimeUnit.SECONDS);
   }
 
   @TemplateExtension
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterUnsubscriber.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterUnsubscriber.java
index 0a67ff6..d157a87 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterUnsubscriber.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterUnsubscriber.java
@@ -47,7 +47,7 @@
                       .subject("Unsubscribed from MulkCMS newsletter")
                       .to(address)
                       .send();
-              sendJob.toCompletableFuture().get(60, TimeUnit.SECONDS);
+              sendJob.subscribeAsCompletionStage().get(60, TimeUnit.SECONDS);
 
               s.delete();
 
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 22c1dfc..53233ba 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -84,7 +84,7 @@
 quarkus.container-image.name = mulkcms2
 quarkus.container-image.registry = docker.benkard.de
 
-quarkus.jib.base-jvm-image = azul/zulu-openjdk-alpine:15-jre
+quarkus.jib.base-jvm-image = azul/zulu-openjdk-alpine:16-jre
 #quarkus.jib.jvm-arguments = -XX:+UseShenandoahGC,-XX:ShenandoahGCHeuristics=compact
 quarkus.jib.jvm-arguments = -XX:G1PeriodicGCInterval=300000,-XX:G1PeriodicGCSystemLoadThreshold=0
 
diff --git a/src/main/resources/templates/benki/posts/postList.html b/src/main/resources/templates/benki/posts/postList.html
index 5e9d24a..7039d65 100644
--- a/src/main/resources/templates/benki/posts/postList.html
+++ b/src/main/resources/templates/benki/posts/postList.html
@@ -1,4 +1,4 @@
-{@java.util.List<eu.mulk.mulkcms2.benki.posts.Day> postDays}
+{@java.util.List<eu.mulk.mulkcms2.benki.posts.Post.PostPage<eu.mulk.mulkcms2.benki.posts.Post>.Day>  postDays}
 {@java.lang.String pageTitle}
 {@java.lang.Boolean showBookmarkForm}
 {@java.lang.Boolean hasPreviousPage}
