diff --git a/.etc/modulefiles/sc19/session2.lua b/.etc/modulefiles/sc19/session2.lua
new file mode 100644
index 0000000000000000000000000000000000000000..a7c52c13de4faae4995a8b6b64e5de815e0ca8b0
--- /dev/null
+++ b/.etc/modulefiles/sc19/session2.lua
@@ -0,0 +1,14 @@
+local modname = myModuleName()
+local version = myModuleVersion()
+
+local session = "2"
+
+whatis(modname)
+whatis(version)
+help([[Meta-module for SC19 Tutorial, Session ]] .. session)
+
+if (not isloaded("papi/5.7.0")) then
+	load("papi/5.7.0")
+end
+
+setenv("SC19_MODULE_ACTIVE_" .. session, "1")
diff --git a/.etc/modulefiles/sc19/session3.lua b/.etc/modulefiles/sc19/session3.lua
new file mode 100644
index 0000000000000000000000000000000000000000..c29fde5b179c4084e5e6579d9c89ddfa68220f59
--- /dev/null
+++ b/.etc/modulefiles/sc19/session3.lua
@@ -0,0 +1,16 @@
+local modname = myModuleName()
+local version = myModuleVersion()
+
+local session = "3"
+
+whatis(modname)
+whatis(version)
+help([[Meta-module for SC19 Tutorial, Session ]] .. session)
+
+unload("papi/5.7.0")
+
+if (not isloaded("gcc/9.2.0")) then
+	load("gcc/9.2.0")
+end
+
+setenv("SC19_MODULE_ACTIVE_" .. session, "1")
diff --git a/.etc/modulefiles/sc19/session4.lua b/.etc/modulefiles/sc19/session4.lua
new file mode 100644
index 0000000000000000000000000000000000000000..a7594b44171ee78f80d8763132925de2c285531b
--- /dev/null
+++ b/.etc/modulefiles/sc19/session4.lua
@@ -0,0 +1,26 @@
+local modname = myModuleName()
+local version = myModuleVersion()
+
+local session = "3"
+
+whatis(modname)
+whatis(version)
+help([[Meta-module for SC19 Tutorial, Hands-on ]] .. session)
+
+unload("gcc/9.2.0")
+unload("papi/5.7.0")
+
+if (not isloaded("cuda/10.1.105")) then
+	load("cuda/10.1.105")
+end
+if (not isloaded("nvshmem")) then
+	load("nvshmem")
+end
+if (not isloaded("pgi/19.4")) then
+	load("pgi/19.4")
+end
+if (not isloaded("spectrum-mpi/10.3.0.0-20190419")) then
+	load("spectrum-mpi/10.3.0.0-20190419")
+end
+
+setenv("SC19_MODULE_ACTIVE_" .. session, "1")