diff --git a/bin/summaMain b/bin/summaMain
deleted file mode 100755
index 70812cccd2e4f4820ee487737a709d7c32bae10d..0000000000000000000000000000000000000000
Binary files a/bin/summaMain and /dev/null differ
diff --git a/build/makefile b/build/makefile
index 780784218f4d9d529ba0e2fa8c9e6b3340f45612..9368cc4df61b49792bade25d648f9a09a39feb13 100644
--- a/build/makefile
+++ b/build/makefile
@@ -53,10 +53,10 @@ DSHARE_DIR = $(F_KORE_DIR)/dshare
 NUMREC_DIR = $(F_KORE_DIR)/numrec
 NOAHMP_DIR = $(F_KORE_DIR)/noah-mp
 ENGINE_DIR = $(F_KORE_DIR)/engine
-INTERFACE_DIR = $(F_KORE_DIR)/interface
-JOB_ACTOR_DIR = $(INTERFACE_DIR)/job_actor
-FILE_ACCESS_DIR = $(INTERFACE_DIR)/file_access_actor
-HRU_ACTOR_DIR = $(INTERFACE_DIR)/hru_actor
+ACTORS_DIR = $(F_KORE_DIR)/actors
+JOB_ACTOR_DIR = $(ACTORS_DIR)/job_actor
+FILE_ACCESS_DIR = $(ACTORS_DIR)/file_access_actor
+HRU_ACTOR_DIR = $(ACTORS_DIR)/hru_actor
 
 #  utilities
 SUMMA_NRUTIL= \
@@ -135,7 +135,7 @@ SUMMA_INTERFACE= \
 		cppwrap_auxiliary.f90 \
 		cppwrap_metadata.f90 \
 
-INTERFACE = $(patsubst %, $(INTERFACE_DIR)/%, $(SUMMA_INTERFACE))
+INTERFACE = $(patsubst %, $(ACTORS_DIR)/global/%, $(SUMMA_INTERFACE))
 
 SUMMA_FILEACCESS_INTERFACE = \
 		initOutputStruc.f90 \
diff --git a/build/source/actors/FileAccess.h b/build/source/actors/file_access_actor/FileAccess.h
similarity index 90%
rename from build/source/actors/FileAccess.h
rename to build/source/actors/file_access_actor/FileAccess.h
index c1167db81074f98d811f159bb320d7a75bc27043..9dee306931bb8df4584c737d03ff09b256b4d4d4 100644
--- a/build/source/actors/FileAccess.h
+++ b/build/source/actors/file_access_actor/FileAccess.h
@@ -1,15 +1,16 @@
 #ifndef FILEACCESS_H_
 #define FILEACCESS_H_
-
-#include "../interface/fortran_dataTypes.h"
-#include "../interface/file_access_actor/fileAccess_subroutine_wrappers.h"
 #include "caf/all.hpp"
-#include "messageAtoms.h"
+
+#include "../global/fortran_dataTypes.h"
+#include "../global/messageAtoms.h"
+#include "../global/global.h"
+#include "../global/json.hpp"
+#include "fileAccess_subroutine_wrappers.h"
 #include "OutputManager.h"
 #include <vector>
 #include <chrono>
-#include "global.h"
-#include "json.hpp"
+
 
 
 class forcingFile {
diff --git a/build/source/actors/FileAccessActor.h b/build/source/actors/file_access_actor/FileAccessActor.h
similarity index 100%
rename from build/source/actors/FileAccessActor.h
rename to build/source/actors/file_access_actor/FileAccessActor.h
diff --git a/build/source/actors/OutputManager.h b/build/source/actors/file_access_actor/OutputManager.h
similarity index 100%
rename from build/source/actors/OutputManager.h
rename to build/source/actors/file_access_actor/OutputManager.h
diff --git a/build/source/interface/file_access_actor/cppwrap_fileAccess.f90 b/build/source/actors/file_access_actor/cppwrap_fileAccess.f90
similarity index 97%
rename from build/source/interface/file_access_actor/cppwrap_fileAccess.f90
rename to build/source/actors/file_access_actor/cppwrap_fileAccess.f90
index 74ee288fd26492eed60fe9326c3bb5d2c8182d7f..8691a802925af74f8d606d9ebd5cd2d7c2b4476b 100644
--- a/build/source/interface/file_access_actor/cppwrap_fileAccess.f90
+++ b/build/source/actors/file_access_actor/cppwrap_fileAccess.f90
@@ -439,22 +439,22 @@ subroutine FileAccessActor_DeallocateStructures(handle_forcFileInfo, handle_ncid
   end do
   
   ! Deallocate Forcing Structure
-  do iFile = 1, size(forcingDataStruct(:))
-    do iVar = 1, size(forcingDataStruct(iFile)%var(:))
-      if (allocated(forcingDataStruct(iFile)%var(iVar)%dataFromFile))then
-        deallocate(forcingDataStruct(iFile)%var(iVar)%dataFromFile)
-      endif
-    end do
-    deallocate(forcingDataStruct(iFile)%var_ix)
-  end do
-  deallocate(forcingDataStruct)
+  ! do iFile = 1, size(forcingDataStruct(:))
+  !   do iVar = 1, size(forcingDataStruct(iFile)%var(:))
+  !     if (allocated(forcingDataStruct(iFile)%var(iVar)%dataFromFile))then
+  !       deallocate(forcingDataStruct(iFile)%var(iVar)%dataFromFile)
+  !     endif
+  !   end do
+  !   deallocate(forcingDataStruct(iFile)%var_ix)
+  ! end do
+  ! deallocate(forcingDataStruct)
 
   deallocate(forcFileInfo)
-  deallocate(outputStructure)
+  ! deallocate(outputStructure)
   deallocate(outputTimeStep)
   deallocate(ncid)
   deallocate(failedHRUs)
-  if(allocated(vecTime)) then; deallocate(vecTime); endif
+  ! if(allocated(vecTime)) then; deallocate(vecTime); endif
 
 end subroutine FileAccessActor_DeallocateStructures
 
diff --git a/build/source/interface/file_access_actor/deallocateOutputStruc.f90 b/build/source/actors/file_access_actor/deallocateOutputStruc.f90
similarity index 100%
rename from build/source/interface/file_access_actor/deallocateOutputStruc.f90
rename to build/source/actors/file_access_actor/deallocateOutputStruc.f90
diff --git a/build/source/interface/file_access_actor/fileAccess_subroutine_wrappers.h b/build/source/actors/file_access_actor/fileAccess_subroutine_wrappers.h
similarity index 100%
rename from build/source/interface/file_access_actor/fileAccess_subroutine_wrappers.h
rename to build/source/actors/file_access_actor/fileAccess_subroutine_wrappers.h
diff --git a/build/source/interface/file_access_actor/initOutputStruc.f90 b/build/source/actors/file_access_actor/initOutputStruc.f90
similarity index 99%
rename from build/source/interface/file_access_actor/initOutputStruc.f90
rename to build/source/actors/file_access_actor/initOutputStruc.f90
index f9d48fd3ef4018dad57353b2ac2fcba7835ab4fa..111ad6a391c0d180d962da2423fbc894daff12f9 100644
--- a/build/source/interface/file_access_actor/initOutputStruc.f90
+++ b/build/source/actors/file_access_actor/initOutputStruc.f90
@@ -5,7 +5,6 @@ module summaActors_initOutputStruct
   contains
 
 subroutine initalizeOutput(forcFileInfo, maxSteps, nGRU, err)
-  USE globalData,only:outputStructure
   USE globalData,only:outputStructure
   USE globalData,only:time_meta,forc_meta,attr_meta,type_meta ! metadata structures
   USE globalData,only:prog_meta,diag_meta,flux_meta,id_meta   ! metadata structures
diff --git a/build/source/interface/cppwrap_auxiliary.f90 b/build/source/actors/global/cppwrap_auxiliary.f90
similarity index 100%
rename from build/source/interface/cppwrap_auxiliary.f90
rename to build/source/actors/global/cppwrap_auxiliary.f90
diff --git a/build/source/interface/cppwrap_datatypes.f90 b/build/source/actors/global/cppwrap_datatypes.f90
similarity index 100%
rename from build/source/interface/cppwrap_datatypes.f90
rename to build/source/actors/global/cppwrap_datatypes.f90
diff --git a/build/source/interface/cppwrap_metadata.f90 b/build/source/actors/global/cppwrap_metadata.f90
similarity index 100%
rename from build/source/interface/cppwrap_metadata.f90
rename to build/source/actors/global/cppwrap_metadata.f90
diff --git a/build/source/interface/fortran_dataTypes.h b/build/source/actors/global/fortran_dataTypes.h
similarity index 100%
rename from build/source/interface/fortran_dataTypes.h
rename to build/source/actors/global/fortran_dataTypes.h
diff --git a/build/source/actors/global.h b/build/source/actors/global/global.h
similarity index 100%
rename from build/source/actors/global.h
rename to build/source/actors/global/global.h
diff --git a/build/source/actors/json.hpp b/build/source/actors/global/json.hpp
similarity index 100%
rename from build/source/actors/json.hpp
rename to build/source/actors/global/json.hpp
diff --git a/build/source/actors/messageAtoms.h b/build/source/actors/global/messageAtoms.h
similarity index 100%
rename from build/source/actors/messageAtoms.h
rename to build/source/actors/global/messageAtoms.h
diff --git a/build/source/actors/HRU.h b/build/source/actors/hru_actor/HRU.h
similarity index 96%
rename from build/source/actors/HRU.h
rename to build/source/actors/hru_actor/HRU.h
index 73c1a9690445cc1e5dd3d5555f8c21ea8ce48116..8dd21f21da1af814887b80aac0a57e3da4fa0529 100644
--- a/build/source/actors/HRU.h
+++ b/build/source/actors/hru_actor/HRU.h
@@ -1,9 +1,12 @@
 #ifndef HRU_H_
 #define HRU_H_
 #include "caf/all.hpp"
-#include "../interface/fortran_dataTypes.h"
-#include "../interface/hru_actor/hru_subroutine_wrappers.h"
-#include "messageAtoms.h"
+#include "hru_subroutine_wrappers.h"
+#include "../global/fortran_dataTypes.h"
+#include "../global/messageAtoms.h"
+#include "../global/json.hpp"
+#include "../global/global.h"
+
 #include <fstream>
 #include <string>
 #include <typeinfo>
@@ -12,8 +15,7 @@
 #include <sys/resource.h>
 #include <chrono>
 #include <iostream>
-#include "json.hpp"
-#include "global.h"
+
 
 using namespace caf;
 
diff --git a/build/source/actors/HRUActor.h b/build/source/actors/hru_actor/HRUActor.h
similarity index 100%
rename from build/source/actors/HRUActor.h
rename to build/source/actors/hru_actor/HRUActor.h
diff --git a/build/source/interface/hru_actor/cppwrap_hru.f90 b/build/source/actors/hru_actor/cppwrap_hru.f90
similarity index 100%
rename from build/source/interface/hru_actor/cppwrap_hru.f90
rename to build/source/actors/hru_actor/cppwrap_hru.f90
diff --git a/build/source/interface/hru_actor/hru_subroutine_wrappers.h b/build/source/actors/hru_actor/hru_subroutine_wrappers.h
similarity index 100%
rename from build/source/interface/hru_actor/hru_subroutine_wrappers.h
rename to build/source/actors/hru_actor/hru_subroutine_wrappers.h
diff --git a/build/source/actors/GRUinfo.h b/build/source/actors/job_actor/GRUinfo.h
similarity index 100%
rename from build/source/actors/GRUinfo.h
rename to build/source/actors/job_actor/GRUinfo.h
diff --git a/build/source/actors/Job.h b/build/source/actors/job_actor/Job.h
similarity index 90%
rename from build/source/actors/Job.h
rename to build/source/actors/job_actor/Job.h
index 4eb897dddf6df1a6a50f4f59dc8490d5dff6cfa7..dd44e5d8d93da7ae479f3e32249bc28c80d14da5 100644
--- a/build/source/actors/Job.h
+++ b/build/source/actors/job_actor/Job.h
@@ -3,20 +3,21 @@
 
 #include "caf/all.hpp"
 #include "caf/io/all.hpp"
+#include "../file_access_actor/FileAccessActor.h"
+#include "../hru_actor/HRUActor.h"
+#include "../global/messageAtoms.h"
+#include "../global/json.hpp"
+#include "../global/global.h"
+#include "GRUinfo.h"
+#include "job_subroutine_wrappers.h"
+
 #include "string.h"
 #include <unistd.h>
 #include <vector>
-#include "FileAccessActor.h"
-#include "../interface/job_actor/job_subroutine_wrappers.h"
-#include "HRUActor.h"
 #include <chrono>
-#include "messageAtoms.h"
-#include "GRUinfo.h"
 #include <iostream>
 #include <fstream>
 #include <sys/stat.h>
-#include "json.hpp"
-#include "global.h"
 
 struct job_state {
     // Actor References
diff --git a/build/source/actors/JobActor.h b/build/source/actors/job_actor/JobActor.h
similarity index 100%
rename from build/source/actors/JobActor.h
rename to build/source/actors/job_actor/JobActor.h
diff --git a/build/source/interface/job_actor/cppwrap_job.f90 b/build/source/actors/job_actor/cppwrap_job.f90
similarity index 100%
rename from build/source/interface/job_actor/cppwrap_job.f90
rename to build/source/actors/job_actor/cppwrap_job.f90
diff --git a/build/source/interface/job_actor/job_subroutine_wrappers.h b/build/source/actors/job_actor/job_subroutine_wrappers.h
similarity index 100%
rename from build/source/interface/job_actor/job_subroutine_wrappers.h
rename to build/source/actors/job_actor/job_subroutine_wrappers.h
diff --git a/build/source/actors/main.cc b/build/source/actors/main.cc
index cf7bff5778b2b114e581786db21d1a976603b3ec..fbecb3b905a981828f00eb55fd45c7eb93d31c50 100644
--- a/build/source/actors/main.cc
+++ b/build/source/actors/main.cc
@@ -1,12 +1,13 @@
 #include "caf/all.hpp"
 #include "caf/io/all.hpp"
-#include "SummaActor.h"
+#include "summa_actor/SummaActor.h"
+#include "global/messageAtoms.h"
+#include "global/global.h"
+
 #include <string>
-#include "messageAtoms.h"
 #include <bits/stdc++.h>
 #include <unistd.h>
 #include <iostream>
-#include "global.h"
 
 using namespace caf;
 
diff --git a/build/source/actors/SummaActor.h b/build/source/actors/summa_actor/SummaActor.h
similarity index 100%
rename from build/source/actors/SummaActor.h
rename to build/source/actors/summa_actor/SummaActor.h
diff --git a/build/source/actors/SummaManager.h b/build/source/actors/summa_actor/SummaManager.h
similarity index 91%
rename from build/source/actors/SummaManager.h
rename to build/source/actors/summa_actor/SummaManager.h
index bc4e20f6050180b3db6897c21560800f301fa57c..da875782b25c35ea1b589823d68a467a32321581 100644
--- a/build/source/actors/SummaManager.h
+++ b/build/source/actors/summa_actor/SummaManager.h
@@ -3,13 +3,15 @@
 
 #include "caf/all.hpp"
 #include "caf/io/all.hpp"
-#include "JobActor.h"
+#include "../job_actor/JobActor.h"
+#include "../global/json.hpp"
+#include "../global/global.h"
+
+
 #include <iostream>
 #include <chrono>
 #include <string>
-#include "json.hpp"
 #include <fstream>
-#include "global.h"
 
 
 
diff --git a/build/source/engine/access_forcing.f90 b/build/source/engine/access_forcing.f90
index 7b81303386aca7d3de7f4803652369bb8cc409b8..2e04300572caf7b527f406b407dcc54cc9cd5bac 100644
--- a/build/source/engine/access_forcing.f90
+++ b/build/source/engine/access_forcing.f90
@@ -86,7 +86,9 @@ subroutine access_forcingFile(forcFileInfo, iFile, stepsInFile, startGRU, numGRU
    nTimeSteps = forcFileInfo%ffile_list(iFile)%nTimeSteps
    forcingDataStruct(iFile)%nTimeSteps = nTimeSteps
    stepsInFile = nTimeSteps
-   allocate(vecTime(iFile)%dat(nTimeSteps))
+   if(.not.allocated(vecTime(iFile)%dat))then
+      allocate(vecTime(iFile)%dat(nTimeSteps))
+   end if
 
    ! Get Time Information
    err = nf90_inq_varid(ncid,'time',varId);
@@ -97,8 +99,12 @@ subroutine access_forcingFile(forcFileInfo, iFile, stepsInFile, startGRU, numGRU
    ! Need to loop through vars and add forcing data
    nVars = forcFileInfo%ffile_list(iFile)%nVars
    forcingDataStruct(iFile)%nVars = nVars
-   allocate(forcingDataStruct(iFile)%var(nVars))
-   allocate(forcingDataStruct(iFile)%var_ix(nVars))
+   if (.not.allocated(forcingDataStruct(iFile)%var))then
+      allocate(forcingDataStruct(iFile)%var(nVars))
+   endif
+   if (.not.allocated(forcingDataStruct(iFile)%var_ix))then
+      allocate(forcingDataStruct(iFile)%var_ix(nVars))
+   endif
    forcingDataStruct(iFile)%var_ix(:) = integerMissing
 
    ! initialize flags for forcing data
@@ -114,8 +120,9 @@ subroutine access_forcingFile(forcFileInfo, iFile, stepsInFile, startGRU, numGRU
             
       iVar = forcFileInfo%ffile_list(iFile)%var_ix(iNC)
       checkForce(iVar) = .true.
-
-      allocate(forcingDataStruct(iFile)%var(iVar)%dataFromFile(numGRU,nTimeSteps))
+      if (.not.allocated(forcingDataStruct(iFile)%var(iVar)%dataFromFile))then
+         allocate(forcingDataStruct(iFile)%var(iVar)%dataFromFile(numGRU,nTimeSteps))
+      endif
 
       ! Get Forcing Data
       ! get variable name for error reporting
diff --git a/config/Summa_Actors_Settings.json b/config/Summa_Actors_Settings.json
deleted file mode 100644
index 7e467cfc002c8f7e2094eddf1d170f4860be77d6..0000000000000000000000000000000000000000
--- a/config/Summa_Actors_Settings.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
-  "Configuration": {
-    "controlVersion": "",
-    "simStartTime": "",
-    "simEndTime": "",
-    "tmZoneInfo": "",
-    "settingsPath": "",
-    "forcingPath": "",
-    "outputPath": "",
-    "forcingFreq": "",
-    "forcingStart": "",
-    "decisionsFile": "",
-    "outputControlFile": "",
-    "globalHruParamFile": "",
-    "globalGruParamFile": "",
-    "attributeFile": "",
-    "trialParamFile": "",
-    "forcingListFile": "",
-    "initConditionFile": "",
-    "outFilePrefix": "",
-    "vegTableFile": "",
-    "soilTableFile": "",
-    "generalTableFile": "",
-    "noahmpTableFile": ""
-  },
-  "JobSubmissionParams": {
-    "cpus-per-task": 1,
-    "memory": "",
-    "job-name": "",
-    "account": "",
-    "numHRUs": 1,
-    "maxNumberOfJobs": 1,
-    "maxGRUsPerSubmission": 1,
-    "executablePath": ""
-  },
-  "SummaActor": {
-    "OuputStructureSize": 1,
-    "maxGRUPerJob": 1
-  },
-  "FileAccessActor": {
-    "num_vectors_in_output_manager": 1
-  },
-  "JobActor": {
-    "FileManagerPath": "",
-    "outputCSV": "",
-    "csvPath": ""
-  },
-  "HRUActor": {
-    "printOutput": "",
-    "outputFrequency": 1
-  }
-}
\ No newline at end of file