diff --git a/workspace/00_get_data.Rmd b/workspace/00_get_data.Rmd
index 328abe76df71eb751cd4101830298d1395301e30..1dfaab3aaa35ea8673a4799383d3e3d6f44fbc6b 100644
--- a/workspace/00_get_data.Rmd
+++ b/workspace/00_get_data.Rmd
@@ -49,7 +49,7 @@ if(!file.exists(hu12_points_path)) {
   if(is.null(sbtools::current_session()))
     sb <- authenticate_sb()
   
-  sbtools::item_file_download("63cb38b2d34e06fef14f40ad", names = "102020wbd_outlets.gpkg", 
+  sbtools::item_file_download("60cb5edfd34e86b938a373f4", names = "102020wbd_outlets.gpkg", 
                               destinations = hu12_points_path, session = sb)
 }
 
@@ -222,7 +222,8 @@ if(!file.exists(nhdplus_dir)) {
   suppressWarnings(staged_nhd <- stage_national_data())
 
   x <- tryCatch(
-    download_nhdplusv2(islands_dir, "https://s3.amazonaws.com/edap-nhdplus/NHDPlusV21/Data/NationalData/NHDPlusV21_NationalData_Seamless_Geodatabase_HI_PR_VI_PI_03.7z"),
+    download_nhdplusv2(islands_dir,  url = paste0("https://edap-ow-data-commons.s3.amazonaws.com/NHDPlusV21/",
+               "Data/NationalData/NHDPlusV21_NationalData_Seamless", "_Geodatabase_HI_PR_VI_PI_03.7z")),
     
     # Quiet the download, overwrite existing files
     error =  function(e)
@@ -262,6 +263,44 @@ out_list <- c(out_list, list(nhdplus_dir = nhdplus_dir, nhdplus_gdb = nhdplus_gd
                              nhdplus_rpu = rpu))
 ```
 
+```{r Reference Fabric}
+ref_fab_path <- file.path(data_dir, "reference_fabric")
+ref_cat <- file.path(ref_fab_path, "reference_catchments.gpkg")
+ref_fl <- file.path(ref_fab_path, "reference_flowline.gpkg")
+nwm_fl <- file.path(ref_fab_path, "nwm_network.gpkg")
+
+if(!dir.exists(ref_fab_path)) {
+  dir.create(ref_fab_path, recursive = TRUE, showWarnings = FALSE)
+}
+
+if(!file.exists(ref_cat)){
+  possible_vpu <- c("01", "08", "10L", "15", "02", "04", "05", "06", "07", "09", 
+                  "03S", "03W", "03N", "10U", "11", "12", "13", "14",  "16", 
+                  "17", "18")
+  if(is.null(sbtools::current_session()))
+    authenticate_sb()
+
+  for (vpu in possible_vpu){
+    vpu_gpkg <- paste0(vpu, "_reference_features.gpkg")
+    sbtools::item_file_download("61295190d34e40dd9c06bcd7", names = vpu_gpkg, 
+                                destinations = file.path(ref_fab_path, vpu_gpkg))
+  }
+  
+  sbtools::item_file_download("61295190d34e40dd9c06bcd7", names = "reference_catchments.gpkg", 
+                              destinations = ref_cat)
+  
+  sbtools::item_file_download("61295190d34e40dd9c06bcd7", names = "reference_flowline.gpkg", 
+                            destinations = ref_fl)
+  
+  sbtools::item_file_download("61295190d34e40dd9c06bcd7", names = "nwm_network.gpkg",
+                            destinations = nwm_fl)
+}
+
+
+out_list <- c(out_list, list(ref_fab_path = ref_fab_path, ref_cat = ref_cat, ref_fl = ref_fl, nwm_fl = nwm_fl))
+```
+
+
 ```{r NHDPlusV2 Waterbodies}
 # Waterbodies - derived after downloading and post-processing NHDPlus Seamless National Geodatabase
 waterbodies_path <- file.path(nhdplus_dir, "nhdplus_waterbodies.rds")
@@ -273,7 +312,7 @@ if(!file.exists(waterbodies_path)) {
 
   # Read the feature class
   wbSF <- read_sf(nhdplus_gdb, "NHDWaterbody") %>%
-    st_transform(crs)
+    st_transform(5070)
   
   # Convert to simple feature and save out
   saveRDS(wbSF, waterbodies_path)
@@ -326,7 +365,6 @@ out$fac <- as.list(setNames(fac, paste0("rpu_", rpu)))
 out_list<- c(out_list, out)
 ```
 
-
 ```{r NHDPlusV2 elev}
 # NHDPlus FDR/FAC grids available by raster processing unit
 
@@ -355,15 +393,18 @@ out_list<- c(out_list, out)
 
 wbd_dir <- file.path(data_dir, "wbd")
 
+wbd_file <- "WBD_National_GDB"
 if(!dir.exists(wbd_dir)) {
   dir.create(wbd_dir, recursive = TRUE)
   wbd <- download_wbd(wbd_dir, "https://prd-tnm.s3.amazonaws.com/StagedProducts/Hydrography/WBD/National/GDB/WBD_National_GDB.zip")
 }
 
-out_gdb <- file.path(wbd_dir, "WBD_National_GDB.gdb")
+out_gdb <- file.path(wbd_dir, paste0(wbd_file, ".gdb"))
 out <- list(latest_wbd = file.path(wbd_dir, "WBD.rds"))
 
 if(!file.exists(out$latest_wbd)) {
+  system(paste0(sevenz,  " x ", file.path(wbd_dir, paste0(wbd_file, ".zip")), " -o", wbd_dir), ignore.stdout = TRUE, intern = TRUE)
+  
   # Read the feature class
   wbdfc <- sf::read_sf(out_gdb,
                        "WBDHU12") %>% 
@@ -417,7 +458,7 @@ get_sbfile <- function(f, itm) {
     sbtools::item_file_download(itm, names = basename(f), 
                               destinations = f)
   
-    zip::unzip(f)
+    #zip::unzip(f)
   }
   return(o)
 }
@@ -470,6 +511,31 @@ if(!file.exists(file.path(islands_dir, "hi.gpkg"))) {
 out_list <- c(out_list, out_hi)
 ```
 
+```{r e2nhd}
+zip_file <- "e2nhdplusv2_us_csv.zip"
+out_csv <- "e2nhdplusv2_us.csv"
+
+out_zip <- file.path(data_dir, out_csv)
+
+out <- list(e2nhd_network = file.path(data_dir, out_csv))
+
+if(!file.exists(out$e2nhd_network)) {
+  
+  if(is.null(sbtools::current_session()))
+    authenticate_sb()
+
+  sbtools::item_file_download("5d16509ee4b0941bde5d8ffe",
+                              names = zip_file,
+                              destinations = file.path(data_dir, zip_file))
+
+  zip::unzip(file.path(data_dir, zip_file), exdir = data_dir)
+
+}
+
+out_list <- c(out_list, out)
+
+```
+
 ```{r nwm_topology}
 nwm_targz_url <- "https://www.nohrsc.noaa.gov/pub/staff/keicher/NWM_live/NWM_parameters/NWM_parameter_files_v2.1.tar.gz"
 nwm_parm_url <- "https://www.nohrsc.noaa.gov/pub/staff/keicher/NWM_live/web/data_tools/NWM_v2.1_channel_hydrofabric.tar.gz"
@@ -508,13 +574,13 @@ out_list <- c(out_list, out)
 
 ```{r nhdplus_attributes}
 
-out <- list(new_nhdp_atts = file.path("data", (sb_f <- "enhd_nhdplusatts.csv")))
+out <- list(new_nhdp_atts = file.path("cache", (sb_f <- "enhd_nhdplusatts.csv")))
 
 if(!file.exists(out$new_nhdp_atts)) {
   if(is.null(sbtools::current_session()))
     authenticate_sb()
 
-  sbtools::item_file_download("63cb311ed34e06fef14f40a3",
+  sbtools::item_file_download("60c92503d34e86b9389df1c9",
                               names = sb_f,
                               destinations = out$new_nhdp_atts)
 }
@@ -522,6 +588,22 @@ if(!file.exists(out$new_nhdp_atts)) {
 out_list <- c(out_list, out)
 ```
 
+```{r nwm_nhdplus_attributes}
+
+out <- list(new_nwm_nhdp_atts = file.path("cache", (sb_f <- "nwm_enhd_nhdplusatts.csv")))
+
+if(!file.exists(out$new_nwm_nhdp_atts)) {
+  if(is.null(sbtools::current_session()))
+    authenticate_sb()
+
+  sbtools::item_file_download("60c92503d34e86b9389df1c9",
+                              names = sb_f,
+                              destinations = out$new_nwm_nhdp_atts)
+}
+
+out_list <- c(out_list, out)
+```
+
 ```{r GFv1.1}
 GFv11_dir <- file.path(data_dir, "GFv11")
 out <- list(GFv11_gages_lyr = file.path(data_dir, "GFv11/GFv11_gages.rds"),
@@ -581,60 +663,6 @@ if(!file.exists(g2_out$gagesii_lyr)) {
 out_list <- c(out_list, g2_out)
 ```
 
-```{r updated_flowlines}
-
-out <- list(ref_flowline = file.path(out_list$nhdplus_dir, (sb_f <- "reference_flowline.gpkg")))
-
-if(!file.exists(out$ref_flowline)) {
-  if(is.null(sbtools::current_session()))
-    authenticate_sb()
-  
-  fs <- sbtools::item_list_files("61295190d34e40dd9c06bcd7")
-  
-  if(!sb_f %in% fs$fname) {
-    
-    stop("you have to run this part interactively")
-    
-    staged_nhd <- stage_national_data(nhdplus_data = out_list$nhdplus_gdb,
-                                      output_path  = out_list$nhdplus_dir)
-    
-    future::plan(future::multisession(workers = 16))
-    # This will generate 
-    fix_headwaters(staged_nhd$flowline, 
-                   out$ref_flowline,
-                   new_atts = out_list$new_nhdp_atts, 
-                   nhdpath = out_list$nhdplus_gdb)
-    
-    sbtools::authenticate_sb()
-    sbtools::item_replace_files("61295190d34e40dd9c06bcd7", out$ref_flowline)
-    
-  }
-    
-  sbtools::item_file_download("61295190d34e40dd9c06bcd7",
-                              names = sb_f,
-                              destinations = out$ref_flowline)
-}
-
-out_list <- c(out_list, out)
-```
-
-```{r reference_catchments}
-
-out <- list(ref_catchment = file.path(out_list$nhdplus_dir, (sb_c <- "reference_catchments.gpkg")))
-
-if(!file.exists(out$ref_catchment)) {
-  if(is.null(sbtools::current_session()))
-    authenticate_sb()
-
-  sbtools::item_file_download("61295190d34e40dd9c06bcd7",
-                              names = sb_c,
-                              destinations = out$ref_catchment)
-}
-
-out_list <- c(out_list, out)
-```
-
-
 ```{r res}
 # Download Reservoir and dams data: ResOps, ISTARF and GRanDd
 #