diff --git a/NAMESPACE b/NAMESPACE
index 770d7934be4e468f162d6bdae1f5d4568e95596b..00068772d59e5a03ca6152263eecc2ec92019994 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -3,6 +3,7 @@
 export(ld.fylke.mnd)
 export(ld.kommune)
 export(regnavn.at.ref.yr)
+export(regnavn.at.ref.yr2)
 export(t03794)
 export(t03895)
 export(t06216)
diff --git a/R/data.R b/R/data.R
new file mode 100644
index 0000000000000000000000000000000000000000..112a4eeb2377b765888abf0488dee946d0e907b1
--- /dev/null
+++ b/R/data.R
@@ -0,0 +1,81 @@
+
+#' Regioninndeling kommunevis siden 1994
+#'
+#' En tabell som viser endringer i kommunenes navn og nummer fra utgangspunkt
+#'  januar 1994 fram til nå. Tabellen kan benyttes sammen med
+#'  SSB regional statistikk (på kommunenivå) for å koble observasjoner fra
+#'  tidligere år til dagens kommunestruktur.
+#'  SSB info: \url{https://www.ssb.no/klass/klassifikasjoner/131}
+#'
+#'
+#'
+#' @format En tibble med 436 rader (436 kommuner i '94) og 26 variabler:
+#' \describe{
+#'   \item{reg_code_199401}{Regionkode januar 1994; chr "0101" "0104"...}
+#'   \item{reg_name_199401}{Regionnavn januar 1994; chr "Halden" "Moss" ...}
+#'   \item{reg_code_200201}{Regionkode januar 2002; chr "0101" "0104"...}
+#'   \item{reg_name_200201}{Regionnavn januar 2002; chr "Halden" "Moss" ...}
+#'   \item{...code...}{fortsetter på samme vis til 2020}
+#'   \item{...name...}{fortsetter på samme vis til 2020}
+#' }
+"regref_kommune"
+
+
+
+#' Regioninndeling fylkesvis siden 1994
+#'
+#' En tabell som viser endringer i kommunenes navn og nummer fra utgangspunkt
+#'  januar 1994 fram til nå. Tabellen kan benyttes sammen med
+#'  SSB regional statistikk (på kommunenivå) for å koble observasjoner fra
+#'  tidligere år til dagens kommunestruktur.
+#' Fylkesinndelingen og endringer er hentet her: \url {https://www.ssb.no/klass/klassifikasjoner/104}
+#'
+#' @format En tibble med 20 rader (20 fylker i '94) og 8 variabler:
+#' \describe{
+#'   \item{reg_code_199401}{Regionkode januar 1994; chr "01" "02"...}
+#'   \item{reg_name_199401}{Regionnavn januar 1994; chr "Østfold" "Akershus" ...}
+#'   \item{reg_code_200607}{Regionkode juli 2006; chr "01" "02"...}
+#'   \item{reg_name_200607}{Regionnavn juli 2006; chr "Østfold" "Akershus" ...}
+#'   \item{...code...}{fortsetter på samme vis til 2020}
+#'   \item{...name...}{fortsetter på samme vis til 2020}
+#' }
+"regref_fylke"
+
+
+#' Hogstvolum fordelt på kommune, sortiment, år fra 1996
+#'
+#' Data fra SSB: \url {https://www.ssb.no/statbank/table/03014}
+#'
+#' @format data.frame med om lag 172k obs og 11 variabler:
+#' \describe{
+#'   \item{region}{Navn på kommunen (på hogsttidspunkt); chr "Hele landet" "Halden" ...}
+#'   \item{kategoritekst}{Sortimentnavn; chr "Gran spesialtømmer" "Furu sekunda sagtømmer" ...}
+#'   \item{statistikkvariabel}{ ; chr "Kvantum rundvirke avvirket for salg" "Kvantum rundvirke avvirket for salg"...}
+#'   \item{ar}{Årstall; int "1996" "1997" ...}
+#'   \item{volum_m3pris}{Volum (avregningsvolum, 1000 m3): int 12 36 85 125  }
+#'   \item{region_kode}{Kommunenummer på registreringstidspkt: chr "0" "0101" "0102"}
+#'   \item{virkeskategori}{virkeskategori chr "1110" "1141" "1143" "1148" "1160" "1410" "1490" "2110" "2141" "2143" "2148" "2160" "2410" "2490" "3120" "3400" "3800" "1800"}
+#'   \item{sortimentgruppe}{sortimentgruppe chr "tømmer" "sams" "massevirke" "annet"}
+#'   \item{reg_n2020}{Regionnavn (kommunenavn) pr 2020 chr "Hele landet" "Halden" "Moss" "Sarpsborg" "Fredrikstad"}
+#'   \item{reg_k2020}{Regionkode (kommunekode) pr 2020}
+#' }
+"m3_sortiment_kmn"
+
+
+
+
+#' Virkesverdi fordelt på kommune, sortiment, år fra 1996
+#'
+#' Data fra SSB: \url {https://www.ssb.no/statbank/table/03794}
+#'
+#' @format data.frame med om lag 9542 obs og 7 variabler:
+#' \describe{
+#'   \item{region}{Navn på kommunen (på hogsttidspunkt); chr "Hele landet" "Halden" ...}
+#'   \item{kategoritekst}{Sortimentnavn; chr "Gran spesialtømmer" "Furu sekunda sagtømmer" ...}
+#'   \item{statistikkvariabel}{ ; chr "Bruttoverdi" "Bruttoverdi"}
+#'   \item{ar}{Årstall; int "1996" "1997" ...}
+#'   \item{bruttoverdi}{Brutto verdi av solgt industrivirke NOK: int 2709220 2877766 2608427 ...  }
+#'   \item{reg_n2020}{Regionnavn (kommunenavn) pr 2020 chr "Hele landet" "Halden" "Moss" "Sarpsborg" "Fredrikstad"}
+#'   \item{reg_k2020}{Regionkode (kommunekode) pr 2020}
+#' }
+"virkesverdi_kmn"
diff --git a/R/no_regioninndeling.R b/R/no_regioninndeling.R
index b0905feba6c04bc89946a21ac5651860c0c38828..24d9813577717f58a817a44dda4dcd50ec5c8be9 100644
--- a/R/no_regioninndeling.R
+++ b/R/no_regioninndeling.R
@@ -16,25 +16,28 @@
 #' @export
 #'
 #' @examples regnavn.at.ref.yr(regionstat = t12750(), ref.yr = 2020 ) %>% glimpse()
-regnavn.at.ref.yr<- function(regionstat, ref.yr = year(now()), reg_level = "fylke"){
+regnavn.at.ref.yr <- function(regionstat, ref.yr = year(now()), reg_level = "fylke"){
   #    regionstat = t12750() #for testing
 
 
   # Fetch the relevant region reference table regref
-  if (reg_level == "fylke"){ regref <- regref_fylke
-  } else { regref <- regref_kommune}
+  if (reg_level == "fylke") { regref <- regref_fylke
+  } else {regref <- regref_kommune}
 
   # harmonizing
   ref.yr = as.integer(ref.yr)
-
+print("")
+print("Regref:")
 glimpse(regref)
  # Fetching from regref
-  regref = as.data.frame(regref, stringsAsFactors = F)
+  regref <- as.data.frame(regref, stringsAsFactors = F)
   regref_n <- names(regref) #their column names
   regref_yr <- as.integer(stringr::str_extract(names(regref), "\\d{4}")) #year
   regref_typ <-  stringr::str_sub(regref_n, 5, 8) # type (code / name)
+  print("regref_yr and regref_typ wrapped in tibble:")
   glimpse(tibble(regref_yr = regref_yr, regref_typ = regref_typ))
 
+  print("Samples from regionstat before adding regref_ref.yr_col_code:")
 glimpse(regionstat[seq.int(1, dim(regionstat)[1], length.out = 10), ])
 
   regionstat <-
@@ -48,10 +51,9 @@ glimpse(regionstat[seq.int(1, dim(regionstat)[1], length.out = 10), ])
                   regref_ref.yr_col_name =
                     max( which(regref_yr <= ref.yr &  regref_typ == "name") ))
 
+  print("Samples from regionstat after adding regref_ref.yr_col_code:")
   glimpse(regionstat[seq.int(1, dim(regionstat)[1], length.out = 10), ])
 
-  print(paste0("regionstat$ar: ", str(regionstat$ar)))
-  print(paste0("regref_yr : ", str(regref_yr)))
   regionstat <-
     regionstat %>%
     dplyr::mutate(.,
@@ -65,6 +67,7 @@ glimpse(regionstat[seq.int(1, dim(regionstat)[1], length.out = 10), ])
                   yr_regref_col_rname = purrr::pmap_int(., .f = function(ar, ...){
                     max( which( regref_yr <= ar & regref_typ == "name") )
                   }))
+  print("Samples from regionstat after adding yr_regref_col_rcode:")
   glimpse(regionstat[seq.int(1, dim(regionstat)[1], length.out = 10), ])
   regionstat <-
     regionstat %>%
@@ -95,7 +98,8 @@ glimpse(regionstat[seq.int(1, dim(regionstat)[1], length.out = 10), ])
                       regcode_in_regrefcol | region_kode == "0" ~ T,
                       TRUE ~ F))
 
-  glimpse(regionstat)
+  print("Samples from regionstat after adding valid_reg:")
+  glimpse(regionstat[seq.int(1, dim(regionstat)[1], length.out = 10), ])
 
   regionstat <- regionstat %>%
 
@@ -118,6 +122,68 @@ glimpse(regionstat[seq.int(1, dim(regionstat)[1], length.out = 10), ])
 
 
 
+#' Region navn og region kode for gitt år v2
+#'
+#' Denne funksjonen tar regionkoder og regionnavn fra en regional statistikk,
+#' tar inn tabell som viser historiske endringer i regional inndeling av Norge
+#' og gjør om til riktige koder og navn for et gitt referanseår (ref.yr)
+#' Funksjonen fungerer for fylkesnivå inkludert landet ELLER for kommunenivå.
+#'
+#' @param regionstat is the regional statistics, where each obs represent one yar
+#' and one region (fylke eller kommune)
+#' @param ref.yr is the reference year to which geographic name and code is to be used
+#'
+#' @return tibble having the regional statistics including the regional
+#' names and codes for the reference year in question
+#' @export
+#'
+#' @examples regnavn.at.ref.yr2(regionstat = t12750()) %>% glimpse()
+regnavn.at.ref.yr2 <- function(regionstat){
+  #    regionstat = t12750() #for testing
+
+  # Fetch the relevant region reference table regref
+  if (nchar(regionstat$region_kode[1]) == 2) {
+    regref <- regref_fylke_l
+    } else {regref <- regref_kommune_l }
+
+  # harmonizing
+  ref.yr <- as.integer(year(now()))
+
+ regionstat <-
+    regionstat %>%
+    dplyr::mutate(.,
+                  # which row in regref the region_code and observation year belongs to:
+                  regrefrow = purrr::pmap_int(., .f = function(region_kode, ar, ...){
+                    # 1: check if exists a part of regref where "region_code_from" == region_kode AND yfrom <= ar
+                    tmprr <-
+                      regref %>%
+                      filter(., reg_code_from == region_kode, yfrom <= ar)
+
+                    if (nrow(tmprr) > 0 ) {
+                      rrr <-  max( which(regref$reg_code_from  == region_kode & regref$yfrom <= ar))
+                    } else {
+                      rrr <- NA_integer_
+                    }
+                    return(rrr)
+                  }))  %>%
+   dplyr::filter(., !is.na(regrefrow)) %>%
+
+
+    #   Then we have index needed to pick the right row
+    #      to populate both reg_k@ref.yr and reg_n@ref.yr
+    dplyr::mutate(.,
+                  !!sym(paste0("reg_n", ref.yr)) := coalesce(regref$reg_name_to[(regrefrow)], region),
+                  !!sym(paste0("reg_k", ref.yr)) := coalesce(regref$reg_code_to[(regrefrow)], region_kode)
+    )
+
+
+  return(regionstat)
+
+}
+
+
+
+
 
 
 
diff --git a/R/ssb_skogsavvirkning.R b/R/ssb_skogsavvirkning.R
index 8e7e9995f61fca2eeea3996b7266190bb583bac4..dfa51777ec21c29bcd082f07545096ff99142cab 100644
--- a/R/ssb_skogsavvirkning.R
+++ b/R/ssb_skogsavvirkning.R
@@ -7,34 +7,34 @@
 #' Litt usikker om energivirkesortimenter og ved er med.
 #' https://www.ssb.no/statbank/list/skogav
 #'
-#' @param geolevel Select type oneof: "fylke", "kommune", "landet"
+#' @param region_level Select type oneof: "fylke", "kommune"
 #'
 #' @return en tibble med hele datasetet.
 #' @export
 #'
 #' @examples
 #'  t03794()
-t03794 <- function(geolevel = 'fylke'){
+t03794 <- function(region_level = 'fylke'){
 
-  if (!(geolevel %in% c("fylke", "kommune", "landet"))) {stop("warning: to get result, ret should be one of 'fylker', 'kommuner', 'landet'" )}
+  if (!(region_level %in% c("fylke", "kommune"))) {stop("warning: to get result, ret should be one of 'fylker', 'kommuner'" )}
   metadt <- PxWebApiData::ApiData("http://data.ssb.no/api/v0/no/table/03794", returnMetaData = TRUE)
   regs <- unlist(purrr::flatten(metadt[[1]][3]))
 
   kommuner <- regs[stringr::str_length(regs) == 4]
   fylker <- regs[stringr::str_length(regs) == 2]
-  landet <- regs[stringr::str_length(regs) == 1]
 
-  geolevels <- list(kommune = kommuner, fylke = fylker, landet = landet)
-  geoselector <- which(names(geolevels) == geolevel)
+
+  region_levels <- list(kommune = kommuner, fylke = fylker)
+  regionlevelselector <- which(names(region_levels) == region_level)
 
   pxdt <- PxWebApiData::ApiData("http://data.ssb.no/api/v0/no/table/03794",
-                                #Region = T, #c(landet, geolevels[[geoselector]]),
-                                Region = c(landet, geolevels[[geoselector]]),
+                                #Region = T, #c(landet, region_levels[[regionlevelselector]]),
+                                Region = region_levels[[regionlevelselector]],
                                 Tid = T, #c("2010", "2016", "2017"),
                                 ContentsCode = T # 10i)
   )
 
-  regioner_utvalg <-
+  regioner_utvalg <- # identify regions havreing volumes
     dplyr::as.tbl(pxdt[[1]])  %>%
     dplyr::rename(., bruttoverdi = value) %>%
     dplyr::group_by(region) %>%
@@ -50,8 +50,8 @@ t03794 <- function(geolevel = 'fylke'){
     dplyr::rename(.,  ar = år, bruttoverdi = value) %>%
     dplyr::bind_cols(., (ds %>% dplyr::select(., region_kode))) %>%
     dplyr::filter(., region %in% regioner_utvalg) %>%
-    dplyr::mutate(., ar = as.integer(ar)
-    )
+    dplyr::mutate(., ar = as.integer(ar))
+
   return(bruttov)
 
 }
@@ -70,13 +70,15 @@ t03794 <- function(geolevel = 'fylke'){
 #' @examples
 #' t12750()
 t12750 <- function(){
-  #metadt = ApiData("http://data.ssb.no/api/v0/no/table/12750", returnMetaData = TRUE)
+  metadt <- PxWebApiData::ApiData("http://data.ssb.no/api/v0/no/table/12750", returnMetaData = TRUE)
+  regs <- unlist(purrr::flatten(metadt[[1]][3]))
+  fylker <- regs[stringr::str_length(regs) == 2]
 
   pxdt <- PxWebApiData::ApiData("http://data.ssb.no/api/v0/no/table/12750" , #returnMetaFrames = T)
                     # Gjennomsnittspris, etter sortiment (kr per m3) (F)
                     # tidsserie 2006 - 2018
                     # NB: 0 betyr NULL
-                    Region = T, ContentsCode = T,
+                    Region = fylker, ContentsCode = T,
                     Tid = T,
                     Treslag = T
   )
@@ -129,10 +131,14 @@ t12750 <- function(){
 #' t06216()
 t06216 <- function(){ # NB: avslutta, tidsserie 1996 - 2017
 
-  # Gjennomsnittspris, etter sortiment (kr per m?) (F)
-  # ApiData("http://data.ssb.no/api/v0/no/table/06216", returnMetaData = TRUE)
+  # Gjennomsnittspris, etter sortiment (kr per m3) (F)
+  metadt <- PxWebApiData::ApiData("http://data.ssb.no/api/v0/no/table/06216", returnMetaData = TRUE)
+  regs <- unlist(purrr::flatten(metadt[[1]][3]))
+  fylker <- regs[stringr::str_length(regs) == 2]
+
+
   pxdt <- PxWebApiData::ApiData("http://data.ssb.no/api/v0/no/table/06216",
-                    Region = T,
+                    Region = fylker,
                     Tid = T,
                     Treslag = T   )
   regioner_utvalg <- dplyr::as.tbl(pxdt[[2]])  %>%
@@ -166,12 +172,10 @@ t06216 <- function(){ # NB: avslutta, tidsserie 1996 - 2017
                   ),
                   ar = as.numeric(ar)
     )
-
-
   return(priser)
 }
 
-####### t03794
+####### t03895
 #' Skogsavvirkning volum t03895
 #' Hogststatistikk for tømmer SSB tabell 03895
 #' 1996 - 2018
@@ -179,16 +183,16 @@ t06216 <- function(){ # NB: avslutta, tidsserie 1996 - 2017
 #' Tabellen gir avvirkning for salg, etter sortiment, volum, kommune.
 #' Volum e avregningsvolum, m3pris
 #'
-#' @param geolevel geografic resolution of the data; landet, fylke or kommune
+#' @param region_level geografic resolution of the data; landet, fylke or kommune
 #'
 #' @return en tibble
 #' @export
 #'
 #' @examples
 #' t03895()
-t03895 <- function(geolevel = 'fylke'){ # 1996 - 2018
+t03895 <- function(region_level = 'fylke'){ # 1996 - 2018
 
-  if ( !(geolevel %in% c("fylke", "kommune", "landet"))) { stop("warning: to get result, ret should be one of 'fylker', 'kommuner', 'landet'" )}
+  if ( !(region_level %in% c("fylke", "kommune"))) { stop("warning: to get result, region_level should be one of 'fylker', 'kommune'" )}
   metadt <- PxWebApiData::ApiData("http://data.ssb.no/api/v0/no/table/03895", returnMetaData = TRUE)
   regs <- unlist(purrr::flatten(metadt[[1]][3]))
 
@@ -196,12 +200,11 @@ t03895 <- function(geolevel = 'fylke'){ # 1996 - 2018
   fylker <- regs[stringr::str_length(regs) == 2]
   landet <- regs[stringr::str_length(regs) == 1]
 
-  geolevels <- list(kommune = kommuner, fylke = fylker, landet = landet)
-  geoselector <- which(names(geolevels) == geolevel)
+  s <- list(kommune = kommuner, fylke = fylker, landet = landet)
+  regionlevelselector <- which(names(s) == region_level)
 
   pxdt <- PxWebApiData::ApiData("http://data.ssb.no/api/v0/no/table/03895",
-                    #Region = T, #c(landet, geolevels[[geoselector]]),
-                    Region = c(landet, geolevels[[geoselector]]),
+                    Region = s[[regionlevelselector]],
                     Tid = T, #c("2010", "2016", "2017"),
                     Treslag = T # 10i)
   )
diff --git a/README.md b/README.md
index 211ecd369067dfed7776f0a5b7da11bccb8545ba..1a021c4fa5b20040df9cb10fe79f764953e25087 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,6 @@
 # vsop - rpkg for organizing roundwood logging data from vsop and derived sources  
 
-Landbruksdirektoratet is providing statistics for annual industrial cut at municipality level
-in excel sheets, one excel document for each year. 
+Landbruksdirektoratet is providing statistics for annual industrial roundwood at municipality level in excel sheets, one excel document for each year. 
 https://www.landbruksdirektoratet.no/no/statistikk/skogbruk/tommeravvirkning
 
 SSB provide similar statistics, but some of it only at county level, annual resolution and 
@@ -16,15 +15,21 @@ Load dependent packages:
 ```r
 invisible(
   lapply( c("magrittr","stringr","dplyr","tibble","lubridate","readxl","PxWebApiData"),
-    library,character.only =T))
+    library, character.only = T))
 ```
 
 Install package in R: 
 ```r
 devtools::install_git('https://gitlab.nibio.no/hbel/vsop.git')
+```
+Demo of readymade datasets within the package:
+```r
+glimpse(m3_sortiment_kmn) # annual total volume by assortment and minicipality. 
+glimpse(virkesverdi_kmn) # annual roundwood total value by municipality
+
 ```
 
-Demo: 
+Demo of some functions: 
 ```r
 vsop::regnavn.at.ref.yr(regionstat = vsop::t12750(), ref.yr = 2020 ) -> fylke_priser
 vsop::regnavn.at.ref.yr(regionstat = vsop::t03895(geolevel =  "fylke"), ref.yr = 2020 ) -> fylke_volum
diff --git a/data-raw/DATASET.R b/data-raw/DATASET.R
index 76b710b22e0d346bca9964eca7e82ad82fb6801d..8d20fd0472d4371b5654a8387c0517d988c0150e 100644
--- a/data-raw/DATASET.R
+++ b/data-raw/DATASET.R
@@ -127,7 +127,6 @@ regupdated = function(files){
 
 no.regiontabell.flk = function(){
   #Fylker: https://www.ssb.no/en/klass/klassifikasjoner/104/versjon/1158/koder
-
   files <-   list.files( path = "./data-raw", pattern = ".txt", full.names = T) %>%
     .[which(!stringr::str_detect(., "~"))] %>%
     .[which(stringr::str_detect(., "Regindeling_Fylker"))]
@@ -137,10 +136,11 @@ no.regiontabell.flk = function(){
 
 
 no.regiontabell.kmn = function(){
-  #Kommuner: https://www.ssb.no/en/klass/klassifikasjoner/131
+  #Kommuner: https://www.ssb.no/klass/klassifikasjoner/131
   files <-   list.files(path = "./data-raw", pattern = ".txt", full.names = T) %>%
     .[which(!stringr::str_detect(., "~"))] %>%
     .[which(stringr::str_detect(., "Regindeling_Kommuner"))]
+  print(files)
   inndeling <- regupdated(files = files)
   return(inndeling)
 
@@ -149,11 +149,59 @@ no.regiontabell.kmn = function(){
 regref_fylke <- no.regiontabell.flk()
 regref_kommune <- no.regiontabell.kmn()
 
-## KPI
-#metadt <- PxWebApiData::ApiData("http://data.ssb.no/api/v0/no/table/08981", returnMetaData = TRUE)
+# creating a "long" mapping table between present region codes and current region codes.
+prolong_region_mapping_table <- function(wide_region_mapping_table) {
+  regref_codes <- wide_region_mapping_table %>% select(., starts_with("reg_code"))
+  regref_names <- wide_region_mapping_table %>% select(., starts_with("reg_name"))
+
+  start_states <- data.frame()
+  for (i in sequence(ncol(regref_codes) )) {
+    one_state_c = regref_codes[,i] %>%
+      tidyr::pivot_longer(.,  cols = everything(), names_to = "time_from",  values_to = "region_code" ) %>%
+      mutate(., ymfrom = stringr::str_extract(time_from, "\\d{6}"),
+             yfrom = stringr::str_extract(ymfrom, "\\d{4}")) %>%
+      select(., ymfrom, yfrom, reg_code_from = region_code)
+
+    one_state_n = regref_names[,i] %>%
+      tidyr::pivot_longer(.,  cols = everything(), names_to = "time_from",  values_to = "region_name" ) %>%
+      mutate(., ymfrom = stringr::str_extract(time_from, "\\d{6}"),
+             yfrom = stringr::str_extract(ymfrom, "\\d{4}")) %>%
+      select(., reg_name_from = region_name)
+
+    one_state <- dplyr::bind_cols(one_state_c, one_state_n)
+
+    start_states <- dplyr::bind_rows(start_states, one_state)
+  }
+
+  end_states <- data.frame()
+  for (i in sequence(ncol(regref_codes) )) {
+    one_state_c = regref_codes[,ncol(regref_codes)] %>%
+      tidyr::pivot_longer(.,  cols = everything(), names_to = "end_time",  values_to = "region_code" ) %>%
+      mutate(., ymto = stringr::str_extract(end_time, "\\d{6}"),
+             yto = stringr::str_extract(ymto, "\\d{4}")) %>%
+      select(.,  ymto, yto, reg_code_to = region_code )
+
+    one_state_n = regref_names[,ncol(regref_names)] %>%
+      tidyr::pivot_longer(.,  cols = everything(), names_to = "end_year",  values_to = "region_name" ) %>%
+      mutate(., ymto = stringr::str_extract(end_year, "\\d{6}"),
+             yto = stringr::str_extract(ymto, "\\d{4}")) %>%
+      select(.,  reg_name_to = region_name)
+
+    one_state <- dplyr::bind_cols(one_state_c, one_state_n)
+    end_states <- dplyr::bind_rows(end_states, one_state)
+  }
 
+  region_mapping_l <- dplyr::bind_cols(start_states, end_states)
 
+  return(region_mapping_l)
 
+}
+regref_kommune_l = prolong_region_mapping_table(wide_region_mapping_table = regref_kommune)
+regref_fylke_l = prolong_region_mapping_table(wide_region_mapping_table = regref_fylke)
+
+
+## KPI
+# https://www.ssb.no/statbank/table/03014
 #metadt <- PxWebApiData::ApiData("http://data.ssb.no/api/v0/no/table/03014", returnMetaData = TRUE)
 pxdt_t03014 <- PxWebApiData::ApiData("http://data.ssb.no/api/v0/no/table/03014",
                               Konsumgrp = "TOTAL",
@@ -166,4 +214,53 @@ kpi_t03014 <-
 
 
 
-usethis::use_data(regref_kommune, regref_fylke, kpi_t03014, overwrite = T)
+m3_sortiment_kmn <-
+  regnavn.at.ref.yr(
+    regionstat = t03895(region_level = "kommune"),
+    reg_level = "kommune", ref.yr = 2020 ) %>%
+  dplyr::select(.,
+                -tidyselect::starts_with("regref_"),
+                -tidyselect::starts_with("regcode_"),
+                -tidyselect::starts_with("yr_"),
+                -tidyselect::starts_with("valid"))
+
+m3_sortiment_flk <-
+  regnavn.at.ref.yr2( regionstat = t03895(region_level = "fylke") ) %>%
+  dplyr::select(., -regrefrow)
+
+virkesverdi_kmn <-
+  regnavn.at.ref.yr(
+  regionstat = t03794( region_level = "kommune"),
+  reg_level = "kommune") %>%
+  dplyr::select(.,
+                -tidyselect::starts_with("regref_"),
+                -tidyselect::starts_with("regcode_"),
+                -tidyselect::starts_with("yr_"),
+                -tidyselect::starts_with("valid"))
+
+
+virkesverdi_kmn2 <-
+  regnavn.at.ref.yr2(
+    regionstat = t03794( region_level = "kommune")) %>%
+  dplyr::select(.,
+                -regrefrow)
+
+
+virkesverdi_flk <-
+  regnavn.at.ref.yr2(
+    regionstat = t03794( region_level = "fylke")) %>%
+  dplyr::select(.,
+                -regrefrow)
+
+
+usethis::use_data(
+  m3_sortiment_kmn,
+  m3_sortiment_flk,
+  virkesverdi_kmn,
+  virkesverdi_flk,
+  regref_kommune,
+  regref_fylke,
+  regref_kommune_l,
+  regref_fylke_l,
+  kpi_t03014,
+  overwrite = T)
diff --git a/data/m3_sortiment_kmn.rda b/data/m3_sortiment_kmn.rda
new file mode 100644
index 0000000000000000000000000000000000000000..deda2d8cf20bc1c64ec47c60e4ba6229e7eb40ca
Binary files /dev/null and b/data/m3_sortiment_kmn.rda differ
diff --git a/data/virkesverdi_flk.rda b/data/virkesverdi_flk.rda
new file mode 100644
index 0000000000000000000000000000000000000000..59ee8e6efb9222fc8a2f9d9c187541f651c38a1f
Binary files /dev/null and b/data/virkesverdi_flk.rda differ
diff --git a/data/virkesverdi_kmn.rda b/data/virkesverdi_kmn.rda
new file mode 100644
index 0000000000000000000000000000000000000000..4126f7b711f2b7ca68676e94dc1bbf666724788f
Binary files /dev/null and b/data/virkesverdi_kmn.rda differ
diff --git a/man/m3_sortiment_kmn.Rd b/man/m3_sortiment_kmn.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..e1ef6b0e76fd9d122acd67e71cef08e6877580bb
--- /dev/null
+++ b/man/m3_sortiment_kmn.Rd
@@ -0,0 +1,26 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/data.R
+\docType{data}
+\name{m3_sortiment_kmn}
+\alias{m3_sortiment_kmn}
+\title{Hogstvolum fordelt på kommune, sortiment, år fra 1996}
+\format{data.frame med om lag 172k obs og 11 variabler:
+\describe{
+  \item{region}{Navn på kommunen (på hogsttidspunkt); chr "Hele landet" "Halden" ...}
+  \item{kategoritekst}{Sortimentnavn; chr "Gran spesialtømmer" "Furu sekunda sagtømmer" ...}
+  \item{statistikkvariabel}{ ; chr "Kvantum rundvirke avvirket for salg" "Kvantum rundvirke avvirket for salg"...}
+  \item{ar}{Årstall; int "1996" "1997" ...}
+  \item{volum_m3pris}{Volum (avregningsvolum, 1000 m3): int 12 36 85 125  }
+  \item{region_kode}{Kommunenummer på registreringstidspkt: chr "0" "0101" "0102"}
+  \item{virkeskategori}{virkeskategori chr "1110" "1141" "1143" "1148" "1160" "1410" "1490" "2110" "2141" "2143" "2148" "2160" "2410" "2490" "3120" "3400" "3800" "1800"}
+  \item{sortimentgruppe}{sortimentgruppe chr "tømmer" "sams" "massevirke" "annet"}
+  \item{reg_n2020}{Regionnavn (kommunenavn) pr 2020 chr "Hele landet" "Halden" "Moss" "Sarpsborg" "Fredrikstad"}
+  \item{reg_k2020}{Regionkode (kommunekode) pr 2020}
+}}
+\usage{
+m3_sortiment_kmn
+}
+\description{
+Data fra SSB: \url {https://www.ssb.no/statbank/table/03014}
+}
+\keyword{datasets}
diff --git a/man/regnavn.at.ref.yr2.Rd b/man/regnavn.at.ref.yr2.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..d5cf8288962d225231f3f643664d173c1876e70a
--- /dev/null
+++ b/man/regnavn.at.ref.yr2.Rd
@@ -0,0 +1,27 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/no_regioninndeling.R
+\name{regnavn.at.ref.yr2}
+\alias{regnavn.at.ref.yr2}
+\title{Region navn og region kode for gitt år v2}
+\usage{
+regnavn.at.ref.yr2(regionstat)
+}
+\arguments{
+\item{regionstat}{is the regional statistics, where each obs represent one yar
+and one region (fylke eller kommune)}
+
+\item{ref.yr}{is the reference year to which geographic name and code is to be used}
+}
+\value{
+tibble having the regional statistics including the regional
+names and codes for the reference year in question
+}
+\description{
+Denne funksjonen tar regionkoder og regionnavn fra en regional statistikk,
+tar inn tabell som viser historiske endringer i regional inndeling av Norge
+og gjør om til riktige koder og navn for et gitt referanseår (ref.yr)
+Funksjonen fungerer for fylkesnivå inkludert landet ELLER for kommunenivå.
+}
+\examples{
+regnavn.at.ref.yr2(regionstat = t12750()) \%>\% glimpse()
+}
diff --git a/man/t03794.Rd b/man/t03794.Rd
index 4c5f9a3dbe6d3e727a5280db26c4d2bba8d5f3d0..99ae73d7dbb979b88678defa0746e6b440b35baf 100644
--- a/man/t03794.Rd
+++ b/man/t03794.Rd
@@ -4,10 +4,10 @@
 \alias{t03794}
 \title{Skogsavvirkning bruttoverdi t03794}
 \usage{
-t03794(geolevel = "fylke")
+t03794(region_level = "fylke")
 }
 \arguments{
-\item{geolevel}{Select type oneof: "fylke", "kommune", "landet"}
+\item{region_level}{Select type oneof: "fylke", "kommune"}
 }
 \value{
 en tibble med hele datasetet.
diff --git a/man/t03895.Rd b/man/t03895.Rd
index 556853c55e46da8e70d45640ec83581c030707f6..5dd6f0a48c8789de57d1b844c4e30ccc61155656 100644
--- a/man/t03895.Rd
+++ b/man/t03895.Rd
@@ -6,10 +6,10 @@
 Hogststatistikk for tømmer SSB tabell 03895
 1996 - 2018}
 \usage{
-t03895(geolevel = "fylke")
+t03895(region_level = "fylke")
 }
 \arguments{
-\item{geolevel}{geografic resolution of the data; landet, fylke or kommune}
+\item{region_level}{geografic resolution of the data; landet, fylke or kommune}
 }
 \value{
 en tibble
diff --git a/man/virkesverdi_kmn.Rd b/man/virkesverdi_kmn.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..786acd8a148513cfcf9493f0fc71825937eba811
--- /dev/null
+++ b/man/virkesverdi_kmn.Rd
@@ -0,0 +1,23 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/data.R
+\docType{data}
+\name{virkesverdi_kmn}
+\alias{virkesverdi_kmn}
+\title{Virkesverdi fordelt på kommune, sortiment, år fra 1996}
+\format{data.frame med om lag 9542 obs og 7 variabler:
+\describe{
+  \item{region}{Navn på kommunen (på hogsttidspunkt); chr "Hele landet" "Halden" ...}
+  \item{kategoritekst}{Sortimentnavn; chr "Gran spesialtømmer" "Furu sekunda sagtømmer" ...}
+  \item{statistikkvariabel}{ ; chr "Bruttoverdi" "Bruttoverdi"}
+  \item{ar}{Årstall; int "1996" "1997" ...}
+  \item{bruttoverdi}{Brutto verdi av solgt industrivirke NOK: int 2709220 2877766 2608427 ...  }
+  \item{reg_n2020}{Regionnavn (kommunenavn) pr 2020 chr "Hele landet" "Halden" "Moss" "Sarpsborg" "Fredrikstad"}
+  \item{reg_k2020}{Regionkode (kommunekode) pr 2020}
+}}
+\usage{
+virkesverdi_kmn
+}
+\description{
+Data fra SSB: \url {https://www.ssb.no/statbank/table/03794}
+}
+\keyword{datasets}
diff --git a/vsop.Rproj b/vsop.Rproj
index cba1b6b7a0a292098af0e0b1ce41b7846a59bd5e..60aa19d60cb61f77dd2ba21d987bc12727999b05 100644
--- a/vsop.Rproj
+++ b/vsop.Rproj
@@ -7,7 +7,7 @@ AlwaysSaveHistory: Default
 EnableCodeIndexing: Yes
 UseSpacesForTab: Yes
 NumSpacesForTab: 2
-Encoding: UTF-8
+Encoding: ISO8859-1
 
 RnwWeave: Sweave
 LaTeX: pdfLaTeX