diff --git a/common-content/en/blocks/evaluate/index.md b/common-content/en/blocks/evaluate/index.md
new file mode 100644
index 000000000..0ee7c6202
--- /dev/null
+++ b/common-content/en/blocks/evaluate/index.md
@@ -0,0 +1,33 @@
++++
+title="Evaluate ✏️"
+headless="true"
+time= 60
+[objectives]
+ 1="Evaluate your current progress against previous modules"
++++
+
+You must check in with yourself and evaluate your progress as you move through the course.
+
+Check your progress against your past self: go back to and tackle a problem from a previous part of the course.
+
+{{}}
+
+## Setup 🧰
+
+1. Trainees need to split up into pairs
+1. In your pairs, nominate a driver and a navigator. A driver will type out the code. A navigator will use the prep to steer you in your solution.
+
+## Activity
+
+1. Find a problem from 2 modules ago and familiarise yourself with it
+1. Test and implement a solution to the chosen problem
+
+### Pay attention ❗🔍
+
+- Write tests first and run your tests frequently to get feedback
+- Swap driver and navigator roles often - perhaps after every test
+- Use your unit tests to break down the problem - don't try implementing everything all at once
+- Discuss your strategy together before writing any code
+- Check the learning objectives in each block. Do they make sense? Discuss them together as a pair
+
+{{}}
diff --git a/common-content/en/blocks/morning-orientation/index.md b/common-content/en/blocks/morning-orientation/index.md
new file mode 100644
index 000000000..67dbb75f9
--- /dev/null
+++ b/common-content/en/blocks/morning-orientation/index.md
@@ -0,0 +1,41 @@
++++
+title="🎡 Morning orientation"
+headless="true"
+time=15
+[objectives]
+ 1="Introduce and welcome new volunteers"
+ 2="Nominate a timekeeper"
+ 3="Check the morning day plan and group structures"
++++
+
+{{}}
+🧭 Step 1 and step 6 can be done earlier in the week. Create a post on Slack and get some people to take on the roles of **timekeeper** and **facilitator**. Nominate people who've not done it before.
+{{}}
+
+# 👣 Steps
+
+0. Assemble the entire group (all volunteers & all trainees) in a circle
+1. Choose someone (volunteer or trainee) to be a **facilitator** for this morning orientation block
+2. The **facilitator** should briefly welcome everyone with an announcement. Here is an example announcement to read aloud:
+
+> 💬 "Morning everyone, Welcome to CYF {REGION}, this week we are working on {MODULE HERE} {SPRINT NUMBER HERE} and we're currently working on {SUMMARISE THE TOPICS OF THE WEEK}"
+
+3. Check if there are any new volunteers or if there are some attendees who haven't met before. Ask any newcomers to introduce themselves to the group/relevant people
+
+4. Check if it is the _start of a new module_. In other words, are you working on sprint 1? If so then ask someone to read out the success criteria for the new module you have started.
+
+5. Go through the _morning day plan only_ (typically on the curriculum website) - check the following things:
+
+- Check the number of Tech-Ed / PD volunteers you have for the morning
+- Double-check check someone is leading a given session
+- For any new activities ( like workshops or anything unfamiliar) - describe how this block works for the group. If there are any new volunteers, then briefly describe how that block works
+- Decide how best to allocate trainees and volunteers for a given block - some blocks will make this clear
+
+6. Nominate a timekeeper (volunteer or trainee) from the group - aim for someone who hasn't done it before.
+
+⏱️ Timekeepers will need to:
+
+- Announce the start of an activity and how long it will take (check everyone is listening)
+- Manage any whole class timers that are used in an activity
+- Give people a 10-minute wrap-up warning before the end of an activity
+- Announce the end of an activity and what happens next
diff --git a/common-content/en/module/js3/check-in-coordinate/index.md b/common-content/en/module/js3/check-in-coordinate/index.md
new file mode 100644
index 000000000..5b841674b
--- /dev/null
+++ b/common-content/en/module/js3/check-in-coordinate/index.md
@@ -0,0 +1,14 @@
++++
+title = '📝 Check-in ➡️ Coordinate'
+headless = true
+facilitation = false
+time=10
+emoji= '🧩'
+[objectives]
+1="Perform quick temperature check on the current concepts"
+2="Devise strategies for dealing with misconceptions during the week"
++++
+
+1. Assemble as group
+2. Briefly discuss any particular areas of concern following the diagnose block
+3. Devise strategies for addressing misconceptions
diff --git a/common-content/en/module/js3/diagnose/index.md b/common-content/en/module/js3/diagnose/index.md
new file mode 100644
index 000000000..61d3769e3
--- /dev/null
+++ b/common-content/en/module/js3/diagnose/index.md
@@ -0,0 +1,32 @@
++++
+title = '🌡️ Diagnose'
+headless = true
+facilitation = false
+emoji= '🧩'
+[objectives]
+1='Identify areas of weakness'
+2='Address misconceptions from prep work'
+3='Step through some code and check how it runs'
++++
+
+This is a pairing activity!
+
+Each pair will need to split into navigator and driver.
+Volunteers can pair up too - they need to drive though!
+Navigators you can read the instructions for this workshop as you get setup
+
+This activity will consist of the following steps:
+
+### 🧑💻 Predict ➡️ Explain
+
+Given a program or piece of code, you’ll have to explain what the code currently does. Not what it should do.
+
+### 🔍🐛 Find the bug
+
+Given a target output/behaviour - trainees can identify a bug in the source code
+
+### 🪜🧭 Propose a strategy
+
+Given a problem, you’ll have to think about a strategy for solving it. This doesn’t involve coding but stepping back to think about how you could solve the problem. You might want to talk aloud, draw a flow diagram or write out the steps you’d take in your solution.
+
+For the specific task, check with the facilitator on Saturday.
diff --git a/common-theme/hugo.toml b/common-theme/hugo.toml
new file mode 100644
index 000000000..95404e41b
--- /dev/null
+++ b/common-theme/hugo.toml
@@ -0,0 +1,70 @@
+baseURL = "/"
+title = "Our Platform"
+sectionPagesMenu = "main"
+enableEmoji = true
+defaultContentLanguage = 'en'
+defaultContentLanguageInSubdir = false
+
+[languages]
+ [languages.en]
+ contentDir = 'content/en'
+ languageCode = 'en-GB'
+ languageName = 'English'
+
+[menus]
+ [[menus.secondary]]
+ name = "Menu 1 👈🏾"
+ weight = 1
+ url = ""
+ [[menus.secondary]]
+ name = "Menu 2 👋🏿"
+ weight = 2
+ url = ""
+ [[menus.secondary]]
+ name = "Menu 3 🫶🏼"
+ weight = 3
+ url = ""
+
+[params]
+googleFonts="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;500;700&family=Inter:wght@400;600&display=swap"
+description = "A free and open source software development programme."
+main_website = ""
+main_org_name = "eg Code Your Future"
+org = "https://github.com/YOUR_ORG_HERE"
+repo = "https://github.com/YOUR_ORG_HERE/YOUR_REPO/"
+root = "YOUR_REPO_I_THINK"
+orgapi = "https://api.github.com/repos/YOUR_ORG_HERE/"
+# We use a proxy which concatenates paginated responses, otherwise we miss results.
+# Daniel is currently hosting this code https://github.com/illicitonion/github-issue-proxy but we should work out a long-term maintainable solution to this problem.
+issuesorgapi = "https://github-issue-proxy.illicitonion.com/repos/CodeYourFuture/"
+
+[markup]
+[markup.tableOfContents]
+endLevel = 2
+ordered = true
+startLevel = 2
+[markup.highlight]
+lineNos = false
+codeFences = true
+guessSyntax = true
+[markup.goldmark.renderer]
+# Enable HTML codeblocks, e.g. for blocks
+unsafe = true
+hardWraps = true
+disableKinds = ["taxonomy", "term"]
+footnote= true
+
+[caches.getjson]
+# Disable caching of fetches - we want every build to get up to date content for issues, so that if people make clarifications or fixes to issues, we pick them up.
+maxAge = 0
+
+[security.funcs]
+# Allow accessing a GitHub bearer token to avoid rate limits when doing HTTP fetches to the GitHub API.
+# This can be generated at https://github.com/settings/tokens?type=beta and needs read-only access to all public CYF GitHub repos.
+getenv = ["^HUGO_CURRICULUM_GITHUB_BEARER_TOKEN$"]
+
+
+[module]
+ [module.hugoVersion]
+ extended = false
+ min = "0.116.0"
diff --git a/org-cyf/content/js3/sprints/1/day-plan/index.md b/org-cyf/content/js3/sprints/1/day-plan/index.md
index 84794c7a5..09d0c9e2a 100644
--- a/org-cyf/content/js3/sprints/1/day-plan/index.md
+++ b/org-cyf/content/js3/sprints/1/day-plan/index.md
@@ -10,14 +10,18 @@ backlog_filter= 'Week 1'
name="Energiser"
src="blocks/energiser"
[[blocks]]
+name="Morning orientation"
+src="blocks/morning-orientation"
+time=15
+[[blocks]]
name="Teamwork Project Sprint 1"
src="https://cyf-pd.netlify.app/blocks/teamwork-project-s1/readme/"
[[blocks]]
src="blocks/morning-break"
name="Morning break"
[[blocks]]
-name="Study Group"
-src="blocks/study-group"
+name="Evaluate"
+src="blocks/evaluate"
time=60
[[blocks]]
name="Code Review"
@@ -33,12 +37,17 @@ time=120
[[blocks]]
name="Afternoon break"
src="blocks/afternoon-break"
+time="10"
[[blocks]]
name="Study Group"
src="blocks/study-group"
-time=50
+time=20
[[blocks]]
name="Code Review"
src="https://github.com/CodeYourFuture/Module-JS3/pulls"
time="0"
+[[blocks]]
+name="Retrospective"
+src="blocks/retro"
+time="20"
+++
diff --git a/org-cyf/content/js3/sprints/2/day-plan/index.md b/org-cyf/content/js3/sprints/2/day-plan/index.md
index ab6892a1d..afe7586ed 100644
--- a/org-cyf/content/js3/sprints/2/day-plan/index.md
+++ b/org-cyf/content/js3/sprints/2/day-plan/index.md
@@ -11,6 +11,10 @@ name="Energiser"
src="blocks/energiser"
time="15"
[[blocks]]
+name="Morning orientation"
+src="blocks/morning-orientation"
+time=15
+[[blocks]]
name= "Teamwork Project Sprint 2"
src="https://cyf-pd.netlify.app/blocks/teamwork-project-s2"
[[blocks]]
diff --git a/org-cyf/content/js3/sprints/3/day-plan/index.md b/org-cyf/content/js3/sprints/3/day-plan/index.md
index 46aded1b4..ad4aa7377 100644
--- a/org-cyf/content/js3/sprints/3/day-plan/index.md
+++ b/org-cyf/content/js3/sprints/3/day-plan/index.md
@@ -11,16 +11,23 @@ name="Energiser"
src="blocks/energiser"
time=10
[[blocks]]
+name="Morning orientation"
+src="blocks/morning-orientation"
+time=15
+[[blocks]]
name= "Teamwork Project"
src="https://cyf-pd.netlify.app/blocks/teamwork-project-s3"
[[blocks]]
src="blocks/morning-break"
name="Morning break"
[[blocks]]
-name="Study Group"
-src="blocks/study-group"
+name="Diagnose"
+src="module/js3/diagnose"
time=60
[[blocks]]
+name="Check-in ➡️ Coordinate"
+src="module/js3/check-in-coordinate"
+[[blocks]]
name="Code Review"
src="https://github.com/CodeYourFuture/Module-JS3/pulls"
time="0"
@@ -41,7 +48,7 @@ src="blocks/afternoon-break"
[[blocks]]
name="TV Show Project"
src="blocks/study-group"
-time=60
+time=15
[[blocks]]
name="Code Review"
src="https://github.com/CodeYourFuture/Module-JS3/pulls"
diff --git a/org-cyf/content/js3/sprints/4/day-plan/index.md b/org-cyf/content/js3/sprints/4/day-plan/index.md
index 67a786bb4..34c3c8b02 100644
--- a/org-cyf/content/js3/sprints/4/day-plan/index.md
+++ b/org-cyf/content/js3/sprints/4/day-plan/index.md
@@ -11,6 +11,10 @@ name="Energiser"
src="blocks/energiser"
time=10
[[blocks]]
+name="Morning orientation"
+src="blocks/morning-orientation"
+time=15
+[[blocks]]
name="Progress check-in"
src="https://github.com/CodeYourFuture/Module-JS3/issues/245"
time="15"
diff --git a/org-cyf/hugo.toml b/org-cyf/hugo.toml
index aa529cc83..c20c24e17 100644
--- a/org-cyf/hugo.toml
+++ b/org-cyf/hugo.toml
@@ -46,5 +46,21 @@ maxAge = 0
# This can be generated at https://github.com/settings/tokens?type=beta and needs read-only access to all public CYF GitHub repos.
getenv = ["^HUGO_CURRICULUM_GITHUB_BEARER_TOKEN$"]
+[markup]
+[markup.tableOfContents]
+endLevel = 2
+ordered = true
+startLevel = 2
+[markup.highlight]
+lineNos = false
+codeFences = true
+guessSyntax = true
+[markup.goldmark.renderer]
+# Enable HTML codeblocks, e.g. for blocks
+unsafe = true
+hardWraps = true
+disableKinds = ["taxonomy", "term"]
+footnote= true
+
theme = "common-theme"
\ No newline at end of file