diff --git a/R/helper.R b/R/helper.R
index cec5ba451f55a7a7367e85fb53aba179ce0ad31f..bdfb9f137fd3b658d2007a2b6c20d38513f6e388 100644
--- a/R/helper.R
+++ b/R/helper.R
@@ -113,3 +113,8 @@ remove_tail <- function(f, pattern){
   }
   return(f)
 }
+
+lwr <- function(df){
+  names(df) <- tolower(names(df))
+  return(df)
+}
diff --git a/R/run_swat_verify.R b/R/run_swat_verify.R
index 120042ab06cdc60d5d252e45ed80af6b6f2c4833..ec265e271a8c2adfba4f068c4f0dfd58c7be344a 100644
--- a/R/run_swat_verify.R
+++ b/R/run_swat_verify.R
@@ -70,26 +70,27 @@ run_swat_verification <- function(project_path, outputs = c('wb', 'mgt', 'plt'),
   } else if(nchar(msg$stderr) == 0) {
     model_output <- list()
     if ('plt' %in% outputs) {
-      model_output$hru_pw_day <- read_tbl('hru_pw_day.txt', run_path, 3)
+      model_output$hru_pw_day <- read_tbl('hru_pw_day.txt', run_path, 3) %>% lwr
     }
     if ('wb' %in% outputs) {
-      model_output$basin_wb_day <- read_tbl('basin_wb_day.txt', run_path, 3)
-      model_output$basin_pw_day <- read_tbl('basin_pw_day.txt', run_path, 3)
-      model_output$hru_wb_aa <- read_tbl('hru_wb_aa.txt', run_path, 3)
+      model_output$basin_wb_day <- read_tbl('basin_wb_day.txt', run_path, 3) %>% lwr
+      model_output$basin_pw_day <- read_tbl('basin_pw_day.txt', run_path, 3) %>% lwr
+      model_output$hru_wb_aa <- read_tbl('hru_wb_aa.txt', run_path, 3) %>% lwr
       tryCatch({
-        model_output$recall_yr <- read_tbl('recall_yr.txt', run_path, 3)
+        model_output$recall_yr <- read_tbl('recall_yr.txt', run_path, 3) %>% lwr
       },
       error = function(e) {
         model_output$recall_yr <- NULL
       })
     }
     if ('mgt' %in% outputs) {
-      model_output$mgt_out <- read_mgt(run_path)
-      model_output$mgt_sch <- read_sch(run_path)
+      model_output$mgt_out <- read_mgt(run_path) %>% lwr
+      model_output$mgt_sch <- read_sch(run_path) %>% lwr
 
-      hru_data <- read_tbl('hru-data.hru', run_path, 2)
-      landuse_lum <- read_tbl('landuse.lum', run_path, 2)
-      model_output$lum_mgt <- left_join(hru_data, landuse_lum,
+      hru_data <- read_tbl('hru-data.hru', run_path, 2) %>% lwr
+      landuse_lum <- read_tbl('landuse.lum', run_path, 2) %>% lwr
+      model_output$lum_mgt <- left_join(hru_data,
+                                        landuse_lum,
                                         by = c("lu_mgt" = 'name')) %>%
         distinct() %>%
         select(id, topo, hydro, soil, lu_mgt, plnt_com, mgt, tile)
diff --git a/inst/CITATION b/inst/CITATION
new file mode 100644
index 0000000000000000000000000000000000000000..452509cfd75a48bcf4b825559cdc0fe8840c2f5d
--- /dev/null
+++ b/inst/CITATION
@@ -0,0 +1,13 @@
+citHeader("To cite SWATdoctR in publications use:")
+
+citEntry(
+  entry    = "Manual",
+  title    = 'SWATdoctR: SWAT+ model setup verification tool',
+  author = 'Christoph Schürz and Svajunas Plunge',
+  year     = '2023',
+  note  = 'R package',
+  url      = 'https://git.ufz.de/schuerz/swatdoctr',
+  textVersion = paste('Schürz, Christoph and Plunge, Svajunas (2023),',
+  'R package for SWAT+ model setup verification.',
+  'URL https://git.ufz.de/schuerz/swatdoctr')
+)