diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000..13f72db7
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,15 @@
+---
+title: "Contributor Code of Conduct"
+---
+
+As contributors and maintainers of this project,
+we pledge to follow the [The Epiverse-TRACE Code of Conduct][coc].
+
+
+
+[coc-reporting]: https://forms.gle/guKqVXPk6K43jPn59
+[coc]: https://github.com/epiverse-trace/.github/blob/main/CODE_OF_CONDUCT.md
+
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 00000000..49a8cbdd
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,74 @@
+---
+title: "Licenses"
+---
+
+## Instructional Material
+
+The tutorials in this repository are developed by Epiverse-TRACE, based on the [lesson template from the Carpentries](https://github.com/carpentries/workbench-template-rmd) (template under CC BY license).
+
+All Epiverse-TRACE
+instructional material is made available under the [Creative Commons
+Attribution license][cc-by-human]. The following is a human-readable summary of
+(and not a substitute for) the [full legal text of the CC BY 4.0
+license][cc-by-legal].
+
+You are free:
+
+- to **Share**---copy and redistribute the material in any medium or format
+- to **Adapt**---remix, transform, and build upon the material
+
+for any purpose, even commercially.
+
+The licensor cannot revoke these freedoms as long as you follow the license
+terms.
+
+Under the following terms:
+
+- **Attribution**---You must give appropriate credit (mentioning that your work
+ is derived from work that is Copyright (c) Epiverse-TRACE, where
+ practical, linking to ), provide a [link to the
+ license][cc-by-human], and indicate if changes were made. You may do so in
+ any reasonable manner, but not in any way that suggests the licensor endorses
+ you or your use.
+
+- **No additional restrictions**---You may not apply legal terms or
+ technological measures that legally restrict others from doing anything the
+ license permits. With the understanding that:
+
+Notices:
+
+* You do not have to comply with the license for elements of the material in
+ the public domain or where your use is permitted by an applicable exception
+ or limitation.
+* No warranties are given. The license may not give you all of the permissions
+ necessary for your intended use. For example, other rights such as publicity,
+ privacy, or moral rights may limit how you use the material.
+
+## Software
+
+Except where otherwise noted, the example programs and other software provided
+by Epiverse-TRACE are made available under the [OSI][osi]-approved [MIT
+license][mit-license].
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+[cc-by-human]: https://creativecommons.org/licenses/by/4.0/
+[cc-by-legal]: https://creativecommons.org/licenses/by/4.0/legalcode
+[mit-license]: https://opensource.org/licenses/mit-license.html
+[osi]: https://opensource.org
diff --git a/config.yaml b/config.yaml
new file mode 100644
index 00000000..091790fa
--- /dev/null
+++ b/config.yaml
@@ -0,0 +1,77 @@
+#------------------------------------------------------------
+# Values for this lesson.
+#------------------------------------------------------------
+
+# Which carpentry is this (swc, dc, lc, or cp)?
+# swc: Software Carpentry
+# dc: Data Carpentry
+# lc: Library Carpentry
+# cp: Carpentries (to use for instructor training for instance)
+# incubator: The Carpentries Incubator
+carpentry: 'incubator'
+
+# Overall title for pages.
+title: 'Epiverse-TRACE'
+
+# Date the lesson was created (YYYY-MM-DD, this is empty by default)
+created: ~
+
+# Comma-separated list of keywords for the lesson
+keywords: 'forecasts, epidemic models, interventions' #FIXME
+
+# Life cycle stage of the lesson
+# possible values: pre-alpha, alpha, beta, stable
+life_cycle: 'pre-alpha'
+
+# License of the lesson
+license: 'CC-BY 4.0' #FIXME
+
+# Link to the source repository for this lesson
+source: 'https://github.com/epiverse-trace/tutorials'
+
+# Default branch of your lesson
+branch: 'main'
+
+# Who to contact if there are any issues
+contact: 'andree.valle-campos@lshtm.ac.uk' #FIXME
+
+# Navigation ------------------------------------------------
+#
+# Use the following menu items to specify the order of
+# individual pages in each dropdown section. Leave blank to
+# include all pages in the folder.
+#
+# Example -------------
+#
+# episodes:
+# - introduction.md
+# - first-steps.md
+#
+# learners:
+# - setup.md
+#
+# instructors:
+# - instructor-notes.md
+#
+# profiles:
+# - one-learner.md
+# - another-learner.md
+
+# Order of episodes in your lesson
+episodes:
+
+# Information for Learners
+learners:
+
+# Information for Instructors
+instructors:
+
+# Learner Profiles
+profiles:
+
+# Customisation ---------------------------------------------
+#
+# This space below is where custom yaml items (e.g. pinning
+# sandpaper and varnish versions) should live
+
+
diff --git a/index.md b/index.md
new file mode 100644
index 00000000..0c95b029
--- /dev/null
+++ b/index.md
@@ -0,0 +1,9 @@
+---
+site: sandpaper::sandpaper_site
+---
+
+This tutorial was built with [The Carpentries Workbench][workbench].
+
+
+[workbench]: https://carpentries.github.io/sandpaper-docs
+
diff --git a/instructor-notes.md b/instructor-notes.md
new file mode 100644
index 00000000..24c98af6
--- /dev/null
+++ b/instructor-notes.md
@@ -0,0 +1,5 @@
+---
+title: 'Instructor Notes'
+---
+
+Instructor notes
diff --git a/learner-profiles.md b/learner-profiles.md
new file mode 100644
index 00000000..434e335a
--- /dev/null
+++ b/learner-profiles.md
@@ -0,0 +1,5 @@
+---
+title: FIXME
+---
+
+This is a placeholder file. Please add content here.
diff --git a/links.md b/links.md
new file mode 100644
index 00000000..4c5cd2f9
--- /dev/null
+++ b/links.md
@@ -0,0 +1,10 @@
+
+
+[pandoc]: https://pandoc.org/MANUAL.html
+[r-markdown]: https://rmarkdown.rstudio.com/
+[rstudio]: https://www.rstudio.com/
+[carpentries-workbench]: https://carpentries.github.io/sandpaper-docs/
+
diff --git a/md5sum.txt b/md5sum.txt
new file mode 100644
index 00000000..bf4ca39b
--- /dev/null
+++ b/md5sum.txt
@@ -0,0 +1,12 @@
+"file" "checksum" "built" "date"
+"CODE_OF_CONDUCT.md" "549f00b0992a7743c2bc16ea6ce3db57" "site/built/CODE_OF_CONDUCT.md" "2023-10-26"
+"LICENSE.md" "14377518ee654005a18cf28549eb30e3" "site/built/LICENSE.md" "2023-10-26"
+"config.yaml" "80a78c3157b1d5386b1f3d4b31af8562" "site/built/config.yaml" "2023-10-26"
+"index.md" "d45b8843b661f7f6d628b6b57447b6c5" "site/built/index.md" "2023-10-26"
+"links.md" "8184cf4149eafbf03ce8da8ff0778c14" "site/built/links.md" "2023-10-26"
+"episodes/template.Rmd" "92e77eb5db496386f0615931ea7ab6dc" "site/built/template.md" "2023-10-26"
+"instructors/instructor-notes.md" "ca3834a1b0f9e70c4702aa7a367a6bb5" "site/built/instructor-notes.md" "2023-10-26"
+"learners/reference.md" "0ef3f430a2e376da0ed761e0a6175755" "site/built/reference.md" "2023-10-26"
+"learners/setup.md" "b3c6bfa13fd687f926bb1a3e772a2516" "site/built/setup.md" "2023-10-26"
+"profiles/learner-profiles.md" "60b93493cf1da06dfd63255d73854461" "site/built/learner-profiles.md" "2023-10-26"
+"renv/profiles/lesson-requirements/renv.lock" "041a36f31a7ff43f4ba9fdfbb679a96e" "site/built/renv.lock" "2023-10-26"
diff --git a/reference.md b/reference.md
new file mode 100644
index 00000000..32701e85
--- /dev/null
+++ b/reference.md
@@ -0,0 +1,8 @@
+---
+title: 'Reference'
+---
+
+## Glossary
+
+
+
diff --git a/renv.lock b/renv.lock
new file mode 100644
index 00000000..d5070491
--- /dev/null
+++ b/renv.lock
@@ -0,0 +1,721 @@
+{
+ "R": {
+ "Version": "4.3.1",
+ "Repositories": [
+ {
+ "Name": "carpentries",
+ "URL": "https://carpentries.r-universe.dev"
+ },
+ {
+ "Name": "carpentries_archive",
+ "URL": "https://carpentries.github.io/drat"
+ },
+ {
+ "Name": "CRAN",
+ "URL": "https://cran.rstudio.com"
+ }
+ ]
+ },
+ "Packages": {
+ "R6": {
+ "Package": "R6",
+ "Version": "2.5.1",
+ "Source": "Repository",
+ "Repository": "RSPM",
+ "Requirements": [
+ "R"
+ ],
+ "Hash": "470851b6d5d0ac559e9d01bb352b4021"
+ },
+ "Rcpp": {
+ "Package": "Rcpp",
+ "Version": "1.0.11",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "methods",
+ "utils"
+ ],
+ "Hash": "ae6cbbe1492f4de79c45fce06f967ce8"
+ },
+ "askpass": {
+ "Package": "askpass",
+ "Version": "1.2.0",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "sys"
+ ],
+ "Hash": "cad6cf7f1d5f6e906700b9d3e718c796"
+ },
+ "base64enc": {
+ "Package": "base64enc",
+ "Version": "0.1-3",
+ "Source": "Repository",
+ "Repository": "RSPM",
+ "Requirements": [
+ "R"
+ ],
+ "Hash": "543776ae6848fde2f48ff3816d0628bc"
+ },
+ "bslib": {
+ "Package": "bslib",
+ "Version": "0.5.1",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "base64enc",
+ "cachem",
+ "grDevices",
+ "htmltools",
+ "jquerylib",
+ "jsonlite",
+ "memoise",
+ "mime",
+ "rlang",
+ "sass"
+ ],
+ "Hash": "283015ddfbb9d7bf15ea9f0b5698f0d9"
+ },
+ "cachem": {
+ "Package": "cachem",
+ "Version": "1.0.8",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "fastmap",
+ "rlang"
+ ],
+ "Hash": "c35768291560ce302c0a6589f92e837d"
+ },
+ "cli": {
+ "Package": "cli",
+ "Version": "3.6.1",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "utils"
+ ],
+ "Hash": "89e6d8219950eac806ae0c489052048a"
+ },
+ "countrycode": {
+ "Package": "countrycode",
+ "Version": "1.5.0",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R"
+ ],
+ "Hash": "bbc5ab5258e5ddf38f2cd2c5a7afa860"
+ },
+ "cpp11": {
+ "Package": "cpp11",
+ "Version": "0.4.6",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R"
+ ],
+ "Hash": "707fae4bbf73697ec8d85f9d7076c061"
+ },
+ "curl": {
+ "Package": "curl",
+ "Version": "5.1.0",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R"
+ ],
+ "Hash": "9123f3ef96a2c1a93927d828b2fe7d4c"
+ },
+ "data.table": {
+ "Package": "data.table",
+ "Version": "1.14.8",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "methods"
+ ],
+ "Hash": "b4c06e554f33344e044ccd7fdca750a9"
+ },
+ "digest": {
+ "Package": "digest",
+ "Version": "0.6.33",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "utils"
+ ],
+ "Hash": "b18a9cf3c003977b0cc49d5e76ebe48d"
+ },
+ "dotCall64": {
+ "Package": "dotCall64",
+ "Version": "1.1-0",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R"
+ ],
+ "Hash": "7744a30055fea449fc7cd98323b5887c"
+ },
+ "ellipsis": {
+ "Package": "ellipsis",
+ "Version": "0.3.2",
+ "Source": "Repository",
+ "Repository": "RSPM",
+ "Requirements": [
+ "R",
+ "rlang"
+ ],
+ "Hash": "bb0eec2fe32e88d9e2836c2f73ea2077"
+ },
+ "evaluate": {
+ "Package": "evaluate",
+ "Version": "0.22",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "methods"
+ ],
+ "Hash": "66f39c7a21e03c4dcb2c2d21d738d603"
+ },
+ "fansi": {
+ "Package": "fansi",
+ "Version": "1.0.5",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "grDevices",
+ "utils"
+ ],
+ "Hash": "3e8583a60163b4bc1a80016e63b9959e"
+ },
+ "fastmap": {
+ "Package": "fastmap",
+ "Version": "1.1.1",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Hash": "f7736a18de97dea803bde0a2daaafb27"
+ },
+ "fields": {
+ "Package": "fields",
+ "Version": "15.2",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "maps",
+ "methods",
+ "spam",
+ "viridisLite"
+ ],
+ "Hash": "66fa5a16464666772f4929f8f5b2fc71"
+ },
+ "fontawesome": {
+ "Package": "fontawesome",
+ "Version": "0.5.2",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "htmltools",
+ "rlang"
+ ],
+ "Hash": "c2efdd5f0bcd1ea861c2d4e2a883a67d"
+ },
+ "fs": {
+ "Package": "fs",
+ "Version": "1.6.3",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "methods"
+ ],
+ "Hash": "47b5f30c720c23999b913a1a635cf0bb"
+ },
+ "generics": {
+ "Package": "generics",
+ "Version": "0.1.3",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "methods"
+ ],
+ "Hash": "15e9634c0fcd294799e9b2e929ed1b86"
+ },
+ "glue": {
+ "Package": "glue",
+ "Version": "1.6.2",
+ "Source": "Repository",
+ "Repository": "RSPM",
+ "Requirements": [
+ "R",
+ "methods"
+ ],
+ "Hash": "4f2596dfb05dac67b9dc558e5c6fba2e"
+ },
+ "highr": {
+ "Package": "highr",
+ "Version": "0.10",
+ "Source": "Repository",
+ "Repository": "RSPM",
+ "Requirements": [
+ "R",
+ "xfun"
+ ],
+ "Hash": "06230136b2d2b9ba5805e1963fa6e890"
+ },
+ "htmltools": {
+ "Package": "htmltools",
+ "Version": "0.5.6.1",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "base64enc",
+ "digest",
+ "ellipsis",
+ "fastmap",
+ "grDevices",
+ "rlang",
+ "utils"
+ ],
+ "Hash": "1e12fe667316a76508898839ecfb2d00"
+ },
+ "httr": {
+ "Package": "httr",
+ "Version": "1.4.7",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "R6",
+ "curl",
+ "jsonlite",
+ "mime",
+ "openssl"
+ ],
+ "Hash": "ac107251d9d9fd72f0ca8049988f1d7f"
+ },
+ "jquerylib": {
+ "Package": "jquerylib",
+ "Version": "0.1.4",
+ "Source": "Repository",
+ "Repository": "RSPM",
+ "Requirements": [
+ "htmltools"
+ ],
+ "Hash": "5aab57a3bd297eee1c1d862735972182"
+ },
+ "jsonlite": {
+ "Package": "jsonlite",
+ "Version": "1.8.7",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "methods"
+ ],
+ "Hash": "266a20443ca13c65688b2116d5220f76"
+ },
+ "knitr": {
+ "Package": "knitr",
+ "Version": "1.44",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "evaluate",
+ "highr",
+ "methods",
+ "tools",
+ "xfun",
+ "yaml"
+ ],
+ "Hash": "60885b9f746c9dfaef110d070b5f7dc0"
+ },
+ "lifecycle": {
+ "Package": "lifecycle",
+ "Version": "1.0.3",
+ "Source": "Repository",
+ "Repository": "RSPM",
+ "Requirements": [
+ "R",
+ "cli",
+ "glue",
+ "rlang"
+ ],
+ "Hash": "001cecbeac1cff9301bdc3775ee46a86"
+ },
+ "lubridate": {
+ "Package": "lubridate",
+ "Version": "1.9.3",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "generics",
+ "methods",
+ "timechange"
+ ],
+ "Hash": "680ad542fbcf801442c83a6ac5a2126c"
+ },
+ "magrittr": {
+ "Package": "magrittr",
+ "Version": "2.0.3",
+ "Source": "Repository",
+ "Repository": "RSPM",
+ "Requirements": [
+ "R"
+ ],
+ "Hash": "7ce2733a9826b3aeb1775d56fd305472"
+ },
+ "maps": {
+ "Package": "maps",
+ "Version": "3.4.1",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "graphics",
+ "utils"
+ ],
+ "Hash": "644a88fb036ab50cee0b715394eefa1a"
+ },
+ "memoise": {
+ "Package": "memoise",
+ "Version": "2.0.1",
+ "Source": "Repository",
+ "Repository": "RSPM",
+ "Requirements": [
+ "cachem",
+ "rlang"
+ ],
+ "Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c"
+ },
+ "mime": {
+ "Package": "mime",
+ "Version": "0.12",
+ "Source": "Repository",
+ "Repository": "RSPM",
+ "Requirements": [
+ "tools"
+ ],
+ "Hash": "18e9c28c1d3ca1560ce30658b22ce104"
+ },
+ "oai": {
+ "Package": "oai",
+ "Version": "0.4.0",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "httr",
+ "plyr",
+ "stringr",
+ "tibble",
+ "xml2"
+ ],
+ "Hash": "2decae573db4fc6a7798721eb5326c10"
+ },
+ "openssl": {
+ "Package": "openssl",
+ "Version": "2.1.1",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "askpass"
+ ],
+ "Hash": "2a0dc8c6adfb6f032e4d4af82d258ab5"
+ },
+ "pillar": {
+ "Package": "pillar",
+ "Version": "1.9.0",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "cli",
+ "fansi",
+ "glue",
+ "lifecycle",
+ "rlang",
+ "utf8",
+ "utils",
+ "vctrs"
+ ],
+ "Hash": "15da5a8412f317beeee6175fbc76f4bb"
+ },
+ "pkgconfig": {
+ "Package": "pkgconfig",
+ "Version": "2.0.3",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "utils"
+ ],
+ "Hash": "01f28d4278f15c76cddbea05899c5d6f"
+ },
+ "plyr": {
+ "Package": "plyr",
+ "Version": "1.8.9",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "Rcpp"
+ ],
+ "Hash": "6b8177fd19982f0020743fadbfdbd933"
+ },
+ "rappdirs": {
+ "Package": "rappdirs",
+ "Version": "0.3.3",
+ "Source": "Repository",
+ "Repository": "RSPM",
+ "Requirements": [
+ "R"
+ ],
+ "Hash": "5e3c5dc0b071b21fa128676560dbe94d"
+ },
+ "rlang": {
+ "Package": "rlang",
+ "Version": "1.1.1",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "utils"
+ ],
+ "Hash": "a85c767b55f0bf9b7ad16c6d7baee5bb"
+ },
+ "rmarkdown": {
+ "Package": "rmarkdown",
+ "Version": "2.25",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "bslib",
+ "evaluate",
+ "fontawesome",
+ "htmltools",
+ "jquerylib",
+ "jsonlite",
+ "knitr",
+ "methods",
+ "stringr",
+ "tinytex",
+ "tools",
+ "utils",
+ "xfun",
+ "yaml"
+ ],
+ "Hash": "d65e35823c817f09f4de424fcdfa812a"
+ },
+ "sass": {
+ "Package": "sass",
+ "Version": "0.4.7",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R6",
+ "fs",
+ "htmltools",
+ "rappdirs",
+ "rlang"
+ ],
+ "Hash": "6bd4d33b50ff927191ec9acbf52fd056"
+ },
+ "socialmixr": {
+ "Package": "socialmixr",
+ "Version": "0.3.1",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "countrycode",
+ "curl",
+ "data.table",
+ "fields",
+ "grDevices",
+ "httr",
+ "jsonlite",
+ "lubridate",
+ "oai",
+ "wpp2017",
+ "xml2"
+ ],
+ "Hash": "216ff8ff8fd4793dc7e80d69fa955671"
+ },
+ "spam": {
+ "Package": "spam",
+ "Version": "2.10-0",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "Rcpp",
+ "dotCall64",
+ "grid",
+ "methods"
+ ],
+ "Hash": "ffe1f9e95a4375530747b268f82b5086"
+ },
+ "stringi": {
+ "Package": "stringi",
+ "Version": "1.7.12",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "stats",
+ "tools",
+ "utils"
+ ],
+ "Hash": "ca8bd84263c77310739d2cf64d84d7c9"
+ },
+ "stringr": {
+ "Package": "stringr",
+ "Version": "1.5.0",
+ "Source": "Repository",
+ "Repository": "RSPM",
+ "Requirements": [
+ "R",
+ "cli",
+ "glue",
+ "lifecycle",
+ "magrittr",
+ "rlang",
+ "stringi",
+ "vctrs"
+ ],
+ "Hash": "671a4d384ae9d32fc47a14e98bfa3dc8"
+ },
+ "sys": {
+ "Package": "sys",
+ "Version": "3.4.2",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Hash": "3a1be13d68d47a8cd0bfd74739ca1555"
+ },
+ "tibble": {
+ "Package": "tibble",
+ "Version": "3.2.1",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "fansi",
+ "lifecycle",
+ "magrittr",
+ "methods",
+ "pillar",
+ "pkgconfig",
+ "rlang",
+ "utils",
+ "vctrs"
+ ],
+ "Hash": "a84e2cc86d07289b3b6f5069df7a004c"
+ },
+ "timechange": {
+ "Package": "timechange",
+ "Version": "0.2.0",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "cpp11"
+ ],
+ "Hash": "8548b44f79a35ba1791308b61e6012d7"
+ },
+ "tinytex": {
+ "Package": "tinytex",
+ "Version": "0.48",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "xfun"
+ ],
+ "Hash": "8f96d229b7311beb32b94cf413b13f84"
+ },
+ "utf8": {
+ "Package": "utf8",
+ "Version": "1.2.4",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R"
+ ],
+ "Hash": "62b65c52671e6665f803ff02954446e9"
+ },
+ "vctrs": {
+ "Package": "vctrs",
+ "Version": "0.6.4",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "cli",
+ "glue",
+ "lifecycle",
+ "rlang"
+ ],
+ "Hash": "266c1ca411266ba8f365fcc726444b87"
+ },
+ "viridisLite": {
+ "Package": "viridisLite",
+ "Version": "0.4.2",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R"
+ ],
+ "Hash": "c826c7c4241b6fc89ff55aaea3fa7491"
+ },
+ "wpp2017": {
+ "Package": "wpp2017",
+ "Version": "1.2-3",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "R",
+ "data.table"
+ ],
+ "Hash": "ee42417b66554b8fb1ab000b6a7a6588"
+ },
+ "xfun": {
+ "Package": "xfun",
+ "Version": "0.40",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Requirements": [
+ "stats",
+ "tools"
+ ],
+ "Hash": "be07d23211245fc7d4209f54c4e4ffc8"
+ },
+ "xml2": {
+ "Package": "xml2",
+ "Version": "1.3.5",
+ "Source": "Repository",
+ "Repository": "https://carpentries.r-universe.dev",
+ "Requirements": [
+ "R",
+ "methods"
+ ],
+ "Hash": "6c40e5cfcc6aefd88110666e18c31f40"
+ },
+ "yaml": {
+ "Package": "yaml",
+ "Version": "2.3.7",
+ "Source": "Repository",
+ "Repository": "CRAN",
+ "Hash": "0d0056cc5383fbc240ccd0cb584bf436"
+ }
+ }
+}
diff --git a/setup.md b/setup.md
new file mode 100644
index 00000000..db1654e4
--- /dev/null
+++ b/setup.md
@@ -0,0 +1,21 @@
+---
+title: Setup
+---
+
+
+
+## Software Setup
+
+Install R and Rstudio
+
diff --git a/template.md b/template.md
new file mode 100644
index 00000000..c04df2fd
--- /dev/null
+++ b/template.md
@@ -0,0 +1,194 @@
+---
+title: 'Lesson title'
+teaching: 10 # teaching time in minutes
+exercises: 5 # exercise time in minutes
+---
+
+:::::::::::::::::::::::::::::::::::::: questions
+
+- What questions will this lesson cover?
+
+::::::::::::::::::::::::::::::::::::::::::::::::
+
+::::::::::::::::::::::::::::::::::::: objectives
+
+- Objective 1
+- Objective 2
+
+::::::::::::::::::::::::::::::::::::::::::::::::
+
+::::::::::::::::::::::::::::::::::::: prereq
+
+## Prerequisites
+
+List (and hyperlink) the lessons/packages which need to be covered before this lesson
+
+:::::::::::::::::::::::::::::::::
+
+
+## Introduction
+
+Introductory text
+
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: instructor
+
+Inline instructor notes can help inform instructors of timing challenges
+associated with the lessons. They appear in the "Instructor View".
+
+READ THESE LINES AND ERASE:
+
+The Workbench-related sections that the developer must keep are:
+
+- YAML on top
+- Questions
+- Objectives
+- Keypoints
+
+The Epiverse-TRACE sections that we encourage to keep are:
+
+- Prerequisites
+- Introduction
+
+Take a look to the Contributing.md file for more writing guidelines.
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+
+## Section header
+
+Lesson content
+
+::::::::::::::::::::::::::::::::::::: challenge
+
+## Challenge 1 : can the learner run existing code
+
+Load contact and population data from socialmixr::polymod
+
+```r
+polymod <- socialmixr::polymod
+contact_data <- socialmixr::contact_matrix(
+ polymod,
+ countries = "United Kingdom",
+ age.limits = c(0, 20, 40),
+ symmetric = TRUE
+)
+contact_data
+```
+
+:::::::::::::::::::::::: solution
+
+## Output
+
+
+```{.output}
+Using POLYMOD social contact data. To cite this in a publication, use the 'get_citation()' function
+```
+
+```{.output}
+Removing participants that have contacts without age information. To change this behaviour, set the 'missing.contact.age' option
+```
+
+```{.output}
+$matrix
+ contact.age.group
+ [0,20) [20,40) 40+
+ [1,] 7.883663 3.120220 3.063895
+ [2,] 2.794154 4.854839 4.599893
+ [3,] 1.565665 2.624868 5.005571
+
+$demography
+ age.group population proportion year
+1: [0,20) 14799290 0.2454816 2005
+2: [20,40) 16526302 0.2741283 2005
+3: 40+ 28961159 0.4803901 2005
+
+$participants
+ age.group participants proportion
+1: [0,20) 404 0.3996044
+2: [20,40) 248 0.2453017
+3: 40+ 359 0.3550940
+```
+
+
+:::::::::::::::::::::::::::::::::
+::::::::::::::::::::::::::::::::::::::::::::::::
+
+
+## Section header
+
+Lesson content
+
+::::::::::::::::::::::::::::::::::::: callout
+## Explainer
+Add additional maths (or epi) content for novice learners
+
+::::::::::::::::::::::::::::::::::::::::::::::::
+
+::::::::::::::::::::::::::::::::::::: challenge
+
+## Challenge 2 : edit code/answer a question
+
+Load contact and population data for Poland from socialmixr::polymod using the following age bins:
+
++ [0,15)
++ [15, 50)
++ 50 +
+
+:::::::::::::::::::::::: solution
+
+
+```r
+polymod <- socialmixr::polymod
+contact_data <- socialmixr::contact_matrix(
+ polymod,
+ countries = "Poland",
+ age.limits = c(0, 15, 50),
+ symmetric = TRUE
+)
+```
+
+```{.output}
+Using POLYMOD social contact data. To cite this in a publication, use the 'get_citation()' function
+```
+
+```{.output}
+Removing participants that have contacts without age information. To change this behaviour, set the 'missing.contact.age' option
+```
+
+```r
+contact_data
+```
+
+```{.output}
+$matrix
+ contact.age.group
+ [0,15) [15,50) 50+
+ [1,] 8.4882943 5.047958 1.765826
+ [2,] 1.5998125 14.049041 3.624419
+ [3,] 0.9468591 6.132289 4.314050
+
+$demography
+ age.group population proportion year
+1: [0,15) 6372248 0.1661054 2005
+2: [15,50) 20106632 0.5241197 2005
+3: 50+ 11883794 0.3097749 2005
+
+$participants
+ age.group participants proportion
+1: [0,15) 299 0.2960396
+2: [15,50) 469 0.4643564
+3: 50+ 242 0.2396040
+```
+:::::::::::::::::::::::::::::::::
+::::::::::::::::::::::::::::::::::::::::::::::::
+
+
+
+
+
+::::::::::::::::::::::::::::::::::::: keypoints
+
+- Summarise the key points of the lesson using bullet points
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::