diff --git a/README.md b/README.md
index 61433b345ff0147d383ebd79fdf84d4b4ea071a2..776664aa5ec2aa4d8f685352c8e1752ce27de67f 100644
--- a/README.md
+++ b/README.md
@@ -27,10 +27,10 @@ Provide an explanation on threads
 
 The first part of task 1 explores the basics and implementation of context switching, which focuses on saving and restoring the program's execution state. We implement a simple mechanicsm in order to pause and continue execution by using a context library. 
 
-### 2.2.1 Implementation
+### 2.2 Implementation
 
 
-#### Variable declaration
+#### 2.2.1 Variable declaration
 
 ``` cpp
 volatile int x = 0; 
@@ -38,7 +38,7 @@ volatile int x = 0;
 
 ---
 
-#### Retrieve Context 
+#### 2.2.2 Retrieve Context 
 
 ``` cpp
     Context c;
@@ -47,7 +47,7 @@ volatile int x = 0;
 
 ---
 
-#### Ouput 
+#### 2.2.3 Ouput 
 
 ``` cpp
     std::cout << "a message" << std::endl;
@@ -55,7 +55,7 @@ volatile int x = 0;
 
 ---
 
-#### Conditional Check and Context Switch
+#### 2.2.4 Conditional Check and Context Switch
 
 ``` cpp
     if (x == 0) {