diff --git a/demo/displayKwics.R b/demo/displayKwics.R
index b57aae7..4da6540 100644
--- a/demo/displayKwics.R
+++ b/demo/displayKwics.R
@@ -1,79 +1,24 @@
 library(RKorAPClient)
+library(httr)
+library(kableExtra)
+library(dplyr)
 
-displayKwics <- function(q, htmlFile = file.path(tempfile(fileext = ".html"))) {
-  cat(
-    '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-    <!DOCTYPE html>
-    <html>
-     <header>
-      <style>
-            body {
-              font-family: "Lato", sans-serif;
-              font-size: 10pt;
-            }
-            div.kwic {
-                display: table-row;
-                line-height: 180%;
-            }
-            div.kwic:nth-child(even) {background: #EEE}
-            div.kwic:nth-child(odd) {background: #FFF}
-            .sigle {
-                font-size: 90%;
-                font-family: "Courier New", monospace;
-                display: table-cell;
-                text-align: right;
-                padding-right: 1ex;
-            }
-            .context-left {
-                display: table-cell;
-                text-align: right;
-                overflow: hidden;
-                white-space: nowrap;
-            }
-            .context-right {
-                display: table-cell;
-                text-align: left;
-                white-space: nowrap;
-                overflow: hidden;
-            }
-            .match {
-                display: table-cell;
-                padding-left: 1ex;
-                padding-right: 1ex;
-                text-align: center;
-            }
-      </style>
-    </header>
-    <body>
-      <table>',
-    paste0(
-      "<div class='kwic'><span class='sigle'>",
-      q@collectedMatches$textSigle,
-      "</span> ",
-      as.character(q@collectedMatches$snippet),
-      "</div>"
-    ),
-    '      </table>
-    </body>
-</html>',
-    file = htmlFile,
-    sep = "\n"
-  )
-  viewer <- getOption("viewer")
-  viewer(htmlFile)
-}
+query = 'V\u00F6ner' # "Portable packages must use only ASCII characters in their demos."
 
-kco <- new("KorAPConnection", verbose = TRUE)
-if (is.null(kco@accessToken)) {
-  message(
-    paste0(
-      "In order to receive KWICSs also from corpora with restricted licenses, you need an access token.\n",
-      "To generate an access token, login to KorAP and navigite to KorAP's OAuth settings <",
-      kco@KorAPUrl,
-      "settings/oauth#page-top>"
-    )
-  )
-}
-q <- corpusQuery(kco, "Ameisenplage", metadataOnly = F) %>%
+korap_app <-oauth_app("test-korap-client", key = "773NHGM76N7P9b6rLfmpM4", secret = NULL)
+korap_endpoint <- oauth_endpoint(NULL,
+                                 "settings/oauth/authorize",
+                                 "api/v1.0/oauth2/token",
+                                 base_url = "https://korap.ids-mannheim.de")
+token_bundle = oauth2.0_token(korap_endpoint, korap_app, scope = "search match_info", cache = FALSE)
+
+new("KorAPConnection", verbose = TRUE, accessToken = token_bundle[["credentials"]][["access_token"]]) %>%
+  corpusQuery(query, fields = c("textSigle", "pubDate", "corpusTitle", "snippet"),
+              metadataOnly = FALSE) %>%
   fetchAll() %>%
-  displayKwics()
+  slot("collectedMatches") %>%
+  dplyr::arrange(pubDate) %>%
+  dplyr::rename("kwic" = "snippet") %>%
+  kable(escape = FALSE, caption = paste0("Query hits for '", query, "' ordered by date of publication")) %>%
+  kable_styling() %>%
+  print()
