diff --git a/man/highcharter-helpers.Rd b/man/highcharter-helpers.Rd
new file mode 100644
index 0000000..5dac932
--- /dev/null
+++ b/man/highcharter-helpers.Rd
@@ -0,0 +1,76 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/highcharter-helper.R
+\name{highcharter-helpers}
+\alias{highcharter-helpers}
+\alias{hc_freq_by_year_ci}
+\alias{hc_add_onclick_korap_search}
+\title{Helper functions for producing highcharts}
+\usage{
+hc_freq_by_year_ci(
+  df,
+  as.alternatives = FALSE,
+  ylabel = if (as.alternatives) "\%" else "ipm",
+  smooth = FALSE,
+  ...
+)
+
+hc_add_onclick_korap_search(hc)
+}
+\arguments{
+\item{df}{data frame like the value of a \code{\link{frequencyQuery}}}
+
+\item{as.alternatives}{boolean decides whether queries should be treated as mutually exclusive and exhaustive wrt. to some meaningful class (e.g. spelling variants of a certain word form).}
+
+\item{ylabel}{defaults to \% if \code{as.alternatives} is \code{true} and to "ipm" otherwise.}
+
+\item{smooth}{boolean decides whether the graph is smoothed using the highcharts plot types spline and areasplinerange.}
+
+\item{...}{additional arguments passed to \code{\link{hc_add_series}}}
+
+\item{hc}{highchart}
+}
+\description{
+Experimental convenience function for plotting typical frequency by year graphs with confidence intervals using highcharter.
+\bold{Warning:} This function may be moved to a new package.
+
+Adds on-click events to data points of highcarts that were constructed with
+\code{\link{frequencyQuery}} or \code{\link{collocationScoreQuery}}. Clicks on data points
+then launch KorAP web UI queries for the given query term and virtual corpus in
+a separate tab.
+}
+\examples{
+\donttest{year <- c(1990:2018)}\dontshow{year <- c(2013:2013)}
+\donttest{alternatives <- c("macht []{0,3} Sinn", "ergibt []{0,3} Sinn")}\dontshow{alternatives <- c("macht []{0,3} Sinn")}
+new("KorAPConnection", verbose = TRUE) \%>\%
+  frequencyQuery(query = alternatives,
+                 vc = paste("textType = /Zeit.*/ & pubDate in", year),
+                 as.alternatives = TRUE) \%>\%
+  hc_freq_by_year_ci(as.alternatives = TRUE)
+
+\donttest{
+kco <- new("KorAPConnection", verbose = TRUE)
+expand_grid(
+  condition = c("textDomain = /Wirtschaft.*/", "textDomain != /Wirtschaft.*/"),
+  year = (2005:2011)
+) \%>\%
+  cbind(frequencyQuery(
+    kco,
+    "[tt/l=Heuschrecke]",
+    paste0(.$condition, " & pubDate in ", .$year)
+  ))  \%>\%
+  hc_freq_by_year_ci()
+}
+
+\donttest{
+library(highcharter)
+library(tidyr)
+
+new("KorAPConnection", verbose = TRUE) \%>\%
+  collocationScoreQuery("Team", "agil", vc = paste("pubDate in", c(2014:2018)),
+                        lemmatizeNodeQuery = TRUE, lemmatizeCollocateQuery = TRUE) \%>\%
+                         pivot_longer(c("O", "E")) \%>\%
+  hchart(type="spline", hcaes(label, value, group=name)) \%>\%
+  hc_add_onclick_korap_search()
+}
+
+}
