diff --git a/R/icc_stats.R b/R/icc_stats.R
index d775964..a1d8374 100644
--- a/R/icc_stats.R
+++ b/R/icc_stats.R
@@ -47,9 +47,7 @@
 
 icc <- icc %>%
   rowwise() %>%
-  mutate(token = icc_token(lang, app_id)) %>%
-  add_column(tokens=0)
-
+  mutate(token = icc_token(lang, app_id))
 
 genre <- c("Blog",
              "Creative:Novels_ShortStories",
@@ -73,11 +71,19 @@
   rowwise() %>%
   mutate(tokens= corpusStats(icc_con(lang, token), vc = vc)@tokens)
 
-icc_genre %>% ggplot(aes(x=lang, fill=genre, y=tokens)) +
+plot <- icc_genre %>% ggplot(aes(x=lang, fill=genre, y=tokens)) +
   geom_col() + scale_y_continuous(labels = label_number(scale_cut = cut_short_scale())) +
   theme_ids() +
   geom_text(aes(label=if_else(tokens > 0, as.character(tokens), ""), y=tokens), position= position_stack(reverse = F, vjust = 0.5), color="white", size=3.2, family="Fira Sans Condensed")
 
+ggsave("target/tokens_per_genre.png", width = 70 * .pt, height = 45 *.pt, units = "mm", dpi = 800)
+ggsave("target/tokens_per_genre.svg", width = 70 * .pt, height = 45 *.pt, units = "mm", dpi = 800)
+ggsave("target/tokens_per_genre.pdf", device = cairo_pdf, width = 70 * .pt, height = 45 *.pt, units = "mm", dpi = 800)
+
+if(rstudioapi::isAvailable()) {
+  print(plot)
+}
+
 year <- c(1988:2022)
 
 icc_year <- icc %>%
@@ -86,6 +92,15 @@
   rowwise() %>%
   mutate(tokens= corpusStats(icc_con(lang, token), vc = vc)@tokens)
 
-icc_year %>% ggplot(aes(x=year, fill=lang, color=lang, y=tokens)) +
-  geom_line() + geom_point() + geom_area() + scale_y_continuous(labels = label_number(scale_cut = cut_short_scale())) +
+plot <- icc_year %>% ggplot(aes(x=year, fill=lang, color=lang, y=tokens)) +
+  geom_line() + geom_point() + scale_y_continuous(labels = label_number(scale_cut = cut_short_scale())) +
   theme_ids()
+
+ggsave("target/tokens_per_year.png", width = 70 * .pt, height = 45 *.pt, units = "mm", dpi = 800)
+ggsave("target/tokens_per_year.svg", width = 70 * .pt, height = 45 *.pt, units = "mm", dpi = 800)
+ggsave("target/tokens_per_year.pdf", device = cairo_pdf, width = 70 * .pt, height = 45 *.pt, units = "mm", dpi = 800)
+
+if(rstudioapi::isAvailable()) {
+  print(plot)
+}
+
