diff --git a/R/KorAPConnection.R b/R/KorAPConnection.R
index 4959e45..85b12e4 100644
--- a/R/KorAPConnection.R
+++ b/R/KorAPConnection.R
@@ -5,7 +5,10 @@
 defaultKorAPUrl <- "https://korap.ids-mannheim.de/"
 
 #' Connect to a KorAP server.
+#'
 #' @param KorAPUrl instead of providing the query and vc string parameters, you can also simply copy a KorAP query URL from your browser and use it here (and in \code{KorAPConnection}) to provide all necessary information for the query.
+#' @param apiVersion which version of KorAP's API you want to connect to
+#' @param apiUrl url of the KorAP web service
 #' @return object that contains all connection information and can be used with \code{\link{KorAPQuery}}
 #'
 #' @note Currently it is not possible to authenticate the client
diff --git a/R/KorAPQuery.R b/R/KorAPQuery.R
index a204390..1d36e8d 100644
--- a/R/KorAPQuery.R
+++ b/R/KorAPQuery.R
@@ -30,6 +30,8 @@
 #' @param metadataOnly boolean that determines whether queries should return only metadata without any snippets. This can also be useful to prevent access rewrites. Note that the default value is TRUE, unless the connection is authorized (currently not possible).
 #' @param ql string to choose the query language (see \href{https://github.com/KorAP/Kustvakt/wiki/Service:-Search-GET#user-content-parameters}{section on Query Parameters} in the Kustvakt-Wiki for possible values.
 #' @param fields (meta)data fields that will be fetched for every match
+#' @param accessRewriteFatal abort if query or given vc had to be rewritten due to insufficent rights (not yet implemented)
+#' @param verbose print some info
 #' @return A KorAP query object that, among other information, contains the total number of results in \code{$meta$totalResults}. The resulting object can be used to fetch all query results (with \code{\link{KorAPFetchAll}}) or the next page of results (with \code{\link{KorAPFetchNext}}).
 #' A correspunding URL to be used within a web browser is contained in \code{$webUIRequestUrl}
 #' Please make sure to check \code{$collection$rewrites} to see if any unforseen access rewrites of the query's virtual corpus had to be performed.
@@ -59,7 +61,7 @@
 #'
 #' @export
 KorAPQuery <- function(con, query, vc="", KorAPUrl, metadataOnly = TRUE, ql = "poliqarp", fields = defaultFields,
-                       accessRewriteFatal = TRUE) {
+                       accessRewriteFatal = TRUE, verbose=FALSE) {
   if (missing(query) && missing(KorAPUrl) ||  ! (missing(query) || missing(KorAPUrl))) {
     stop("Exactly one of the parameters query and KorAPUrl must be specified.")
   }
@@ -74,6 +76,9 @@
   requestUrl <- paste0(con$apiUrl, 'search', request,
                        '&fields=', paste(defaultFields, collapse = ","),
                        ifelse(metadataOnly, '&access-rewrite-disabled=true', ''))
+  if (verbose) {
+    cat(paste0(webUIRequestUrl, "\n"))
+  }
   result <- fromJSON(paste0(requestUrl, '&count=1'))
   result$fields <- fields[!fields %in% contentFields]
   result$requestUrl <- requestUrl
@@ -89,11 +94,11 @@
 #' @param queryObject object obtained from \code{\link{KorAPQuery}}
 #' @param offset start offset for query results to fetch
 #' @param maxFetch maximum number of query results to fetch
-#' @param verbose
+#' @param verbose print progress information if true
 #' @return The \code{queryObject} input parameter with updated fields \code{$collectedMatches}, \code{$matches} (latest bunch only), \code{$nextStartIndex}, , \code{$hasMoreMatches}
 #'
 #' @examples
-#' q <- KorapFetchNext(KorAPQuery(KorAPConnection(), "Ameisenplage"))
+#' q <- KorAPFetchNext(KorAPQuery(KorAPConnection(), "Ameisenplage"))
 #'
 #' @seealso \code{\link{KorAPFetchRest}}, \code{\link{KorAPFetchAll}}
 #'
@@ -108,7 +113,7 @@
 
   page <- 1
   results <- 0
-
+  pubDate <- NULL # https://stackoverflow.com/questions/8096313/no-visible-binding-for-global-variable-note-in-r-cmd-check
   collectedMatches <- queryObject$collectedMatches
 
   repeat {
@@ -149,7 +154,7 @@
 
 #' Fetch all results of a KorAP query.
 #' @param queryObject object obtained from \code{\link{KorAPQuery}}
-#' @param verbose
+#' @param verbose print progress information if true
 #' @return The \code{queryObject} input parameter with updated fields \code{$collectedMatches}, \code{$matches} (latest bunch only), \code{$nextStartIndex}, \code{$hasMoreMatches}
 #'
 #' @examples
@@ -168,11 +173,11 @@
 
 #' Fetches all remaining results of a KorAP query.
 #' @param queryObject object obtained from \code{\link{KorAPQuery}}
-#' @param verbose
+#' @param verbose print progress information if true
 #' @return The \code{queryObject} input parameter with updated fields \code{$collectedMatches}, \code{$matches} (latest bunch only), \code{$nextStartIndex}, \code{$hasMoreMatches}
 #'
 #' @examples
-#' q <- KorAPFetchRest(KorAPQueryNext(KorAPQuery(KorAPConnection(), "Ameisenplage")))
+#' q <- KorAPFetchRest(KorAPFetchNext(KorAPQuery(KorAPConnection(), "Ameisenplage")))
 #' q$collectedMatches
 #'
 #' @seealso \code{\link{KorAPFetchAll}}, \code{\link{KorAPFetchNext}}
diff --git a/man/KorAPConnection.Rd b/man/KorAPConnection.Rd
index a3ba70f..1fb436f 100644
--- a/man/KorAPConnection.Rd
+++ b/man/KorAPConnection.Rd
@@ -9,6 +9,10 @@
 }
 \arguments{
 \item{KorAPUrl}{instead of providing the query and vc string parameters, you can also simply copy a KorAP query URL from your browser and use it here (and in \code{KorAPConnection}) to provide all necessary information for the query.}
+
+\item{apiVersion}{which version of KorAP's API you want to connect to}
+
+\item{apiUrl}{url of the KorAP web service}
 }
 \value{
 object that contains all connection information and can be used with \code{\link{KorAPQuery}}
diff --git a/man/KorAPFetchAll.Rd b/man/KorAPFetchAll.Rd
index 660d9fd..21b7036 100644
--- a/man/KorAPFetchAll.Rd
+++ b/man/KorAPFetchAll.Rd
@@ -8,6 +8,8 @@
 }
 \arguments{
 \item{queryObject}{object obtained from \code{\link{KorAPQuery}}}
+
+\item{verbose}{print progress information if true}
 }
 \value{
 The \code{queryObject} input parameter with updated fields \code{$collectedMatches}, \code{$matches} (latest bunch only), \code{$nextStartIndex}, \code{$hasMoreMatches}
diff --git a/man/KorAPFetchNext.Rd b/man/KorAPFetchNext.Rd
index 92f7754..66f8aa9 100644
--- a/man/KorAPFetchNext.Rd
+++ b/man/KorAPFetchNext.Rd
@@ -13,6 +13,8 @@
 \item{offset}{start offset for query results to fetch}
 
 \item{maxFetch}{maximum number of query results to fetch}
+
+\item{verbose}{print progress information if true}
 }
 \value{
 The \code{queryObject} input parameter with updated fields \code{$collectedMatches}, \code{$matches} (latest bunch only), \code{$nextStartIndex}, , \code{$hasMoreMatches}
@@ -21,7 +23,7 @@
 Fetch the next bunch of results of a KorAP query.
 }
 \examples{
-q <- KorapFetchNext(KorAPQuery(KorAPConnection(), "Ameisenplage"))
+q <- KorAPFetchNext(KorAPQuery(KorAPConnection(), "Ameisenplage"))
 
 }
 \references{
diff --git a/man/KorAPFetchRest.Rd b/man/KorAPFetchRest.Rd
index acefd2b..a9d4f03 100644
--- a/man/KorAPFetchRest.Rd
+++ b/man/KorAPFetchRest.Rd
@@ -8,6 +8,8 @@
 }
 \arguments{
 \item{queryObject}{object obtained from \code{\link{KorAPQuery}}}
+
+\item{verbose}{print progress information if true}
 }
 \value{
 The \code{queryObject} input parameter with updated fields \code{$collectedMatches}, \code{$matches} (latest bunch only), \code{$nextStartIndex}, \code{$hasMoreMatches}
@@ -16,7 +18,7 @@
 Fetches all remaining results of a KorAP query.
 }
 \examples{
-q <- KorAPFetchRest(KorAPQueryNext(KorAPQuery(KorAPConnection(), "Ameisenplage")))
+q <- KorAPFetchRest(KorAPFetchNext(KorAPQuery(KorAPConnection(), "Ameisenplage")))
 q$collectedMatches
 
 }
diff --git a/man/KorAPQuery.Rd b/man/KorAPQuery.Rd
index cfe7e4f..1f50a83 100644
--- a/man/KorAPQuery.Rd
+++ b/man/KorAPQuery.Rd
@@ -5,7 +5,8 @@
 \title{Send a query to a KorAP connection.}
 \usage{
 KorAPQuery(con, query, vc = "", KorAPUrl, metadataOnly = TRUE,
-  ql = "poliqarp", fields = defaultFields, accessRewriteFatal = TRUE)
+  ql = "poliqarp", fields = defaultFields, accessRewriteFatal = TRUE,
+  verbose = FALSE)
 }
 \arguments{
 \item{con}{object obtained from \code{\link{KorAPConnection}}, that contains all necessary connection information}
@@ -21,6 +22,10 @@
 \item{ql}{string to choose the query language (see \href{https://github.com/KorAP/Kustvakt/wiki/Service:-Search-GET#user-content-parameters}{section on Query Parameters} in the Kustvakt-Wiki for possible values.}
 
 \item{fields}{(meta)data fields that will be fetched for every match}
+
+\item{accessRewriteFatal}{abort if query or given vc had to be rewritten due to insufficent rights (not yet implemented)}
+
+\item{verbose}{print some info}
 }
 \value{
 A KorAP query object that, among other information, contains the total number of results in \code{$meta$totalResults}. The resulting object can be used to fetch all query results (with \code{\link{KorAPFetchAll}}) or the next page of results (with \code{\link{KorAPFetchNext}}).
@@ -40,6 +45,14 @@
        KorAPUrl = "https://korap.ids-mannheim.de/?q=Ameise&cq=pubDate+since+2017&ql=poliqarp")
 q$meta$totalResults
 
+q <- KorAPQuery(con, "Ameisenplage")
+q <- KorAPFetchAll(q, verbose=TRUE)
+tokensPerYear <- function(year) { return(KorAPCorpusStats(con, paste("pubDate in", year))$tokens) }
+df <- as.data.frame(table(as.numeric(format(q$collectedMatches$pubDate,"\%Y")), dnn="year"),
+                    stringsAsFactors = FALSE)
+df$ipm <- 1000000 * df$Freq / tokensPerYear(df$year)
+plot(df$year, df$ipm, type="l")
+
 }
 \references{
 \url{https://ids-pub.bsz-bw.de/frontdoor/index/index/docId/9026}
