diff --git a/R/ogs6.R b/R/ogs6.R
index df0bcc30e425db7c18b37e62c4cd98bb764bf6fe..9f58d7d4cbc8b000bef7fa5f2369ac6cc0c998f3 100644
--- a/R/ogs6.R
+++ b/R/ogs6.R
@@ -413,9 +413,13 @@ OGS6 <- R6::R6Class("OGS6",
         if(missing(value)) {
           private$.search_length_algorithm
         }else{
-          assertthat::assert_that(
-            ogs6_prj_top_level_classes()[["search_length_algorithm"]] %in%
-              class(value))
+          if(assertthat::is.string(value)){
+            value <- list(include = c(file = value))
+          }else{
+            assertthat::assert_that(
+              ogs6_prj_top_level_classes()[["search_length_algorithm"]] %in%
+                class(value))
+          }
           private$.search_length_algorithm <- value
         }
       },
@@ -458,9 +462,12 @@ OGS6 <- R6::R6Class("OGS6",
         if(missing(value)) {
           private$.time_loop
         }else{
-          assertthat::assert_that(
-            ogs6_prj_top_level_classes()[["time_loop"]] %in%
-              class(value))
+          if(assertthat::is.string(value)){
+            value <- list(include = c(file = value))
+          }else{
+            assertthat::assert_that(
+              ogs6_prj_top_level_classes()[["time_loop"]] %in% class(value))
+          }
           private$.time_loop <- value
         }
       },
@@ -472,9 +479,13 @@ OGS6 <- R6::R6Class("OGS6",
         if(missing(value)) {
           private$.local_coordinate_system
         }else{
-          assertthat::assert_that(
-            ogs6_prj_top_level_classes()[["local_coordinate_system"]] %in%
-              class(value))
+          if(assertthat::is.string(value)){
+            value <- list(include = c(file = value))
+          }else{
+            assertthat::assert_that(
+              ogs6_prj_top_level_classes()[["local_coordinate_system"]] %in%
+                class(value))
+          }
           private$.local_coordinate_system <- value
         }
       },
@@ -486,8 +497,12 @@ OGS6 <- R6::R6Class("OGS6",
         if(missing(value)) {
           private$.media
         }else{
-          is_wrapper_list(value,
+          if(assertthat::is.string(value)){
+            value <- list(include = c(file = value))
+          }else{
+            is_wrapper_list(value,
                           ogs6_prj_top_level_classes()[["media"]])
+          }
           private$.media <- value
         }
       },
@@ -499,8 +514,12 @@ OGS6 <- R6::R6Class("OGS6",
         if(missing(value)) {
           private$.parameters
         }else{
-          is_wrapper_list(value,
+          if(assertthat::is.string(value)){
+            value <- list(include = c(file = value))
+          }else{
+            is_wrapper_list(value,
                           ogs6_prj_top_level_classes()[["parameters"]])
+          }
           private$.parameters <- value
         }
       },
@@ -512,9 +531,13 @@ OGS6 <- R6::R6Class("OGS6",
         if(missing(value)) {
           private$.chemical_system
         }else{
-          assertthat::assert_that(
-            ogs6_prj_top_level_classes()[["chemical_system"]] %in%
-              class(value))
+          if(assertthat::is.string(value)){
+            value <- list(include = c(file = value))
+          }else{
+            assertthat::assert_that(
+              ogs6_prj_top_level_classes()[["chemical_system"]] %in%
+                class(value))
+          }
           private$.chemical_system <- value
         }
       },
@@ -526,8 +549,12 @@ OGS6 <- R6::R6Class("OGS6",
         if(missing(value)) {
           private$.curves
         }else{
-          is_wrapper_list(value,
+          if(assertthat::is.string(value)){
+            value <- list(include = c(file = value))
+          }else{
+            is_wrapper_list(value,
                           ogs6_prj_top_level_classes()[["curves"]])
+          }
           private$.curves <- value
         }
       },
@@ -539,9 +566,13 @@ OGS6 <- R6::R6Class("OGS6",
         if(missing(value)) {
           private$.process_variables
         }else{
-          is_wrapper_list(
-            value,
-            ogs6_prj_top_level_classes()[["process_variables"]])
+          if(assertthat::is.string(value)){
+            value <- list(include = c(file = value))
+          }else{
+            is_wrapper_list(
+              value,
+              ogs6_prj_top_level_classes()[["process_variables"]])
+          }
           private$.process_variables <- value
         }
       },
@@ -553,9 +584,13 @@ OGS6 <- R6::R6Class("OGS6",
         if(missing(value)) {
           private$.nonlinear_solvers
         }else{
-          is_wrapper_list(
-            value,
-            ogs6_prj_top_level_classes()[["nonlinear_solvers"]])
+          if(assertthat::is.string(value)){
+            value <- list(include = c(file = value))
+          }else{
+            is_wrapper_list(
+              value,
+              ogs6_prj_top_level_classes()[["nonlinear_solvers"]])
+          }
           private$.nonlinear_solvers <- value
         }
       },
@@ -567,8 +602,12 @@ OGS6 <- R6::R6Class("OGS6",
         if(missing(value)) {
           private$.linear_solvers
         }else{
-          is_wrapper_list(value,
-                          ogs6_prj_top_level_classes()[["linear_solvers"]])
+          if(assertthat::is.string(value)){
+            value <- list(include = c(file = value))
+          }else{
+            is_wrapper_list(value,
+                           ogs6_prj_top_level_classes()[["linear_solvers"]])
+          }
           private$.linear_solvers <- value
         }
       },
@@ -580,8 +619,12 @@ OGS6 <- R6::R6Class("OGS6",
         if(missing(value)) {
           private$.test_definition
         }else{
-          is_wrapper_list(value,
+          if(assertthat::is.string(value)){
+            value <- list(include = c(file = value))
+          }else{
+            is_wrapper_list(value,
                           ogs6_prj_top_level_classes()[["test_definition"]])
+          }
           private$.test_definition <- value
         }
       },
@@ -593,9 +636,12 @@ OGS6 <- R6::R6Class("OGS6",
         if(missing(value)) {
           private$.insitu
         }else{
-          assertthat::assert_that(
-            ogs6_prj_top_level_classes()[["insitu"]] %in%
-              class(value))
+          if(assertthat::is.string(value)){
+            value <- list(include = c(file = value))
+          }else{
+            assertthat::assert_that(
+            ogs6_prj_top_level_classes()[["insitu"]] %in%  class(value))
+          }
           private$.insitu <- value
         }
       },
@@ -634,6 +680,18 @@ OGS6 <- R6::R6Class("OGS6",
           private$.mshs <- value
         }
 
+      },
+
+      #' @field include
+      #' \code{include} \code{value} must be a string.
+      include = function(value) {
+        if(missing(value)) {
+          private$.include
+        }else{
+          assertthat::assert_that(assertthat::is.string(value))
+          private$.include <- value
+          names(private$.include) <- "file"
+        }
       }
   ),
 
@@ -678,7 +736,8 @@ OGS6 <- R6::R6Class("OGS6",
       # .pvd objects (output)
       .pvds = NULL,
       .h5s = NULL,
-      .mshs = NULL
+      .mshs = NULL,
+      .include = NULL
   )
 )
 
diff --git a/man/OGS6.Rd b/man/OGS6.Rd
index 1b8a3b75f1329f5e710af74389af42e35336b1cc..8254f199dbd91f4d89eca2b6435e9e4b03e70ac6 100644
--- a/man/OGS6.Rd
+++ b/man/OGS6.Rd
@@ -117,6 +117,8 @@ ogs6_obj$get_status()
 as returned by \code{rhdf5::h5read()}.}
 
 \item{\code{mshs}}{\code{mshs} \code{value} must be an object of class \code{OGS6_msh}.}
+
+\item{\code{include}}{\code{include} \code{value} must be a string.}
 }
 \if{html}{\out{</div>}}
 }