diff --git a/R/ggplot-theme.R b/R/ggplot-theme.R
new file mode 100644
index 0000000..fb3176b
--- /dev/null
+++ b/R/ggplot-theme.R
@@ -0,0 +1,108 @@
+#' IDS Theme for ggplot2
+#'
+#' Based on Highcharts ggtheme \link[ggthemes]{theme_hc}
+#' which again is based on the plots in \url{Highcharts JS}.
+#'
+#' @note
+#'
+#' Note that here, unlike with the highcharter theme, you have to set the scale
+#' explicitly.
+#'
+#'
+#' @references
+#'
+#' \link[ggthemes]{theme_hc}
+#'
+#' \url{http://www.highcharts.com/demo/line-basic}
+#'
+#' \url{https://github.com/highslide-software/highcharts.com/tree/master/js/themes}
+#'
+#' @inheritParams ggplot2::theme_bw
+#' @param style \code{'light'}, \code{'dark'}.
+#' @param bgcolor Deprecated
+#' @example inst/examples/ex-ggplot.R
+#' @family themes ids
+#' @importFrom ggplot2 theme element_rect element_text element_line element_blank
+#' @export
+theme_ids <- function(base_size = 14,
+                     base_family = idsBaseFontFamily,
+                     style = c("default", "light", "dark"),
+                     bgcolor = NULL) {
+
+  if (!is.null(bgcolor)) {
+    warning("`bgcolor` is deprecated. Use `style` instead.")
+    style <- bgcolor
+  }
+  style <- match.arg(style)
+  bgcolor <- switch(style,
+                    default = backgroundColor,
+                    "light" = backgroundColor,
+                    "mono" = backgroundColor,
+                    "dark" = backgroundColorDark)
+
+  ret <- theme(rect = element_rect(fill = bgcolor, linetype = 0, colour = NA),
+               text = element_text(size = base_size, family = base_family),
+               plot.title = element_text(hjust = 0.5),
+               plot.subtitle = element_text(hjust = 0.5, size = 13, colour = mediumContrastColor),
+               title = element_text(hjust = 0.5),
+               axis.title.x = element_text(hjust = 0.5, size=11),
+               axis.title.y = element_text(hjust = 0.5, size=11),
+               legend.title = element_text(size=11),
+               panel.grid.major.y = element_line(colour = lowContrastColor),
+               panel.grid.minor.y = element_blank(),
+               panel.grid.major.x = element_blank(),
+               panel.grid.minor.x = element_blank(),
+               panel.border = element_blank(),
+               panel.background = element_blank(),
+               legend.position = "right",
+               legend.key = element_rect(fill = paste0(bgcolor,"00")))
+
+  if (style == "dark") {
+    ret <- (ret + theme(rect = element_rect(fill = bgcolor),
+                        text = element_text(colour = textColorDark),
+                        plot.title = element_text(colour = highContrastColorDark),
+                        plot.subtitle = element_text(colour = mediumContrastColorDark),
+                        axis.title.x = element_text(colour = textColorDark),
+                        axis.title.y = element_text(colour = textColorDark),
+                        axis.text.x = element_text(color=textColorDark),
+                        axis.text.y = element_text(color=textColorDark),
+                        panel.grid.major.y = element_line(colour = lowContrastColorDark),
+                        legend.title = element_text(colour = textColorDark)))
+  }
+  ret
+}
+
+
+#' IDS color and fill scales
+#'
+#' Colour and fill scales which use the palettes in
+#' \code{\link{ids_pal}()} and are meant for use with
+#' \code{\link{theme_ids}()}.
+#'
+#' @param palette A palette function that when called with a single integer
+#' argument (the number of levels in the scale) returns the values that they should take.
+#'
+#' @importFrom ggthemes gdocs_pal
+#' @importFrom ggplot2 discrete_scale
+#'
+#' @inheritDotParams  ggthemes::scale_colour_gdocs
+#' @family colour ids
+#' @rdname scale_ids
+#' @export
+scale_colour_ids <- function(palette = "default", ...) {
+  discrete_scale("colour", "ids", ids_pal(), ...)
+}
+
+#' @rdname scale_ids
+#' @inheritDotParams  ggthemes::scale_colour_gdocs
+#' @importFrom ggplot2 discrete_scale
+#' @export
+scale_color_ids <- scale_colour_ids
+
+#' @rdname scale_ids
+#' @inheritParams ggthemes::scale_fill_gdocs
+#' @importFrom ggplot2 discrete_scale
+#' @export
+scale_fill_ids <- function(palette = "default", ...) {
+  discrete_scale("fill", "ids", ids_pal(), ...)
+}
diff --git a/R/highcharter-themes.R b/R/highcharter-themes.R
index 7cafeb2..d9bca09 100644
--- a/R/highcharter-themes.R
+++ b/R/highcharter-themes.R
@@ -1,11 +1,11 @@
 #' Dark IDS theme for \link[highcharter]{highcharter}
 #'
-#' @param fontFamily              font family        
+#' @param fontFamily              font family
 #' @param fontSize                default font size
 #' @param textColor               default text color
-#' @param lowContrastColor        color with low contrast to background 
-#' @param highContrastColor       color with high contrast to background 
-#' @param palette                 array of colors to be used for different series 
+#' @param lowContrastColor        color with low contrast to background
+#' @param highContrastColor       color with high contrast to background
+#' @param palette                 array of colors to be used for different series
 #' @param backgroundColor         background color
 #' @param titleColor              color of the title text
 #' @param subtitleColor           color of the subtitle text
@@ -41,31 +41,10 @@
 hc_theme_ids_dark <-
   function(fontFamily = "Fira Sans Condensed",
            fontSize = "medium",
-           textColor = "#E0E0E3",
-           lowContrastColor = "#707073",
-           highContrastColor = "#F0F0F3",
-           palette = c(
-             '#EB7C31',
-             "#1F77B4",
-             "#2CA02C",
-             "#D62728",
-             "#9467BD",
-             "#8C564B",
-             "#E377C2",
-             "#7F7F7F",
-             "#BCBD22",
-             "#17BECF",
-             "#AEC7E8",
-             "#FFBB78",
-             "#98DF8A",
-             "#FF9896",
-             "#C5B0D5",
-             "#C49C94",
-             "#F7B6D2",
-             "#C7C7C7",
-             "#DBDB8D",
-             "#9EDAE5"
-           ),
+           textColor = textColorDark,
+           lowContrastColor = lowContrastColorDark,
+           highContrastColor = highContrastColorDark,
+           palette = idsPalette,
            backgroundColor = list(linearGradient = list(
              x1 = 0,
              y1 = 1,
@@ -152,17 +131,17 @@
         ),
         credits = list(style = list(color = creditsColor)),
         labels = list(style = list(color = "#707073")),
-        
+
         drilldown = list(
           activeAxisLabelStyle = list(color = "#F0F0F3"),
           activeDataLabelStyle = list(color = "#F0F0F3")
         ),
-        
+
         navigation = list(buttonOptions = list(
           symbolStroke = "#DDDDDD",
           theme = list(fill = burgerMenuBackground)
         )),
-        
+
         rangeSelector = list(
           buttonTheme = list(
             fill = "#505053",
@@ -186,7 +165,7 @@
                             color = "silver"),
           labelStyle = list(color = "silver")
         ),
-        
+
         navigator = list(
           handles = list(backgroundColor = "#666",
                          borderColor = "#AAA"),
@@ -195,7 +174,7 @@
                         lineColor = "#A6C7ED"),
           xAxis = list(gridLineColor = "#505053")
         ),
-        
+
         scrollbar = list(
           barBackgroundColor = "#808083",
           barBorderColor = "#808083",
@@ -206,7 +185,7 @@
           trackBackgroundColor = "#404043",
           trackBorderColor = "#404043"
         ),
-        
+
         legendBackgroundColor = "rgba(0, 0, 0, 0)",
         background2 = "#233238",
         dataLabelsColor = "#233238",
@@ -214,14 +193,14 @@
         maskColor = "rgba(255,255,255,0.3)",
         contrastTextColor = highContrastColor
       )
-    
+
     theme <- structure(theme, class = "hc_theme")
-    
+
     if (length(list(...)) > 0) {
       theme <- hc_theme_merge(theme,
                               hc_theme(...))
     }
-    
+
     theme
   }
 
@@ -229,8 +208,9 @@
 #'
 #' See \code{\link{hc_theme_ids_dark}} for further documentation.
 #'
-#' @param ... named arguments to modify the theme
-#' 
+#' @inheritParams hc_theme_ids_dark
+#' @inheritDotParams hc_theme_ids_dark
+#'
 #' @importFrom magrittr %>%
 #' @import tidyverse
 #' @import highcharter
@@ -244,7 +224,7 @@
 hc_theme_ids_light <- function(...) {
   hc_theme_ids_dark(
     backgroundColor = "#ffffff",
-    textColor = "#383838",
+    textColor = textColor ,
     highContrastColor = "#101013",
     lowContrastColor = "#E0E0E3",
     tooltipBackgroundColor = "#ffffffe0",
@@ -258,8 +238,9 @@
 #'
 #' See \code{\link{hc_theme_ids_dark}} for further documentation.
 #'
-#' @param ... named arguments to modify the theme
-#' 
+#' @inheritParams hc_theme_ids_dark
+#' @inheritDotParams hc_theme_ids_dark
+#'
 #' @importFrom magrittr %>%
 #' @import tidyverse
 #' @import highcharter
@@ -272,9 +253,7 @@
 #' @export
 hc_theme_ids_mono <- function(...) {
   hc_theme_ids_dark(
-    palette = c(
-      "#000000", "#B2B0AD", "#737373", "#D8D7D6", "#B2B0AD", "#8C8984"
-    ),
+    palette = idsPaletteGreyscale,
     backgroundColor = "white",
     textColor = "black",
     highContrastColor = "black",
diff --git a/R/idsThemeR.R b/R/idsThemeR.R
new file mode 100644
index 0000000..d62f03c
--- /dev/null
+++ b/R/idsThemeR.R
@@ -0,0 +1,60 @@
+idsBaseFontFamily <- 'Fira Sans Condensed'
+
+idsPalette <- c(
+  '#EB7C31',
+  "#1F77B4",
+  "#2CA02C",
+  "#D62728",
+  "#9467BD",
+  "#8C564B",
+  "#E377C2",
+  "#7F7F7F",
+  "#BCBD22",
+  "#17BECF",
+  "#AEC7E8",
+  "#FFBB78",
+  "#98DF8A",
+  "#FF9896",
+  "#C5B0D5",
+  "#C49C94",
+  "#F7B6D2",
+  "#C7C7C7",
+  "#DBDB8D",
+  "#9EDAE5"
+)
+
+idsPaletteGreyscale <- c(
+  "#000000", "#B2B0AD", "#737373", "#D8D7D6", "#B2B0AD", "#8C8984"
+)
+
+backgroundColorDark <- "#2a2a2a"
+textColorDark <- "#E0E0E3"
+lowContrastColorDark <- "#707073"
+highContrastColorDark <- "#F0F0F3"
+mediumContrastColorDark <- "#808083"
+
+backgroundColor <- "#ffffff"
+textColor <- "#383838"
+highContrastColor <- "#101013"
+lowContrastColor <- "#E0E0E3"
+mediumContrastColor <- "#404043"
+tooltipBackgroundColor <- "#ffffffe0"
+boxplotFillColor <- "#505053"
+candlestickColor <- "black"
+errorbarColor <- "black"
+
+#' IDS color palette based on the d3 color palette
+#'
+#' @importFrom scales manual_pal
+#' @export
+#'
+#' @references
+#'
+#' \url{https://github.com/d3/d3}
+#'
+ids_pal <- function() {
+  values <- idsPalette
+  f <- scales::manual_pal(values)
+  attr(f, "max_n") <- length(values)
+  f
+}
