diff --git a/README.md b/README.md
index b9c85dc53df5e06957dcd29e669fca1786bb6a74..c217e932b2b135e53b6d862c135a547525fb5647 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,51 @@
 # Common
 
-This folder contains all the motors and the list of the rockets available in this submodule.
+Common is a **submodule** of msa-toolkit repository.
+
+A **submodule** is a separated repo, with its own commits and history, of your main project. It is shown as a subdirectory of the main repo, but technically is not just a subdirectory. This is due to the fact that the submodule and the repo are treated separately.
+
+For example, the main repo we are going to use is `msa-toolkit`. This repo has a submodule which is `common` in which are stored all the common files, data and functions used among the departments. 
+
+> [!WARNING]
+> When working on main repo msa-toolkit be sure on what branch/commit is your submodule checked out. Data and results may be different on simulation if submodule is not updated to latest version!
+
+
+## Submodule architecture
+
+The submodule is divided into four main folders:
+  
+  * **classes**: in this folder you can find the classes over which are defined methods and variables. They are the "kernel" of the toolkit.
+  * **functions**: here you can find all the functions to make msa toolkits working; there are plenty of functions, from ode functions to functions which generates standardized plots for reports.
+  * **missions**: here all the missions together with all data are stored. By opening `missionConfig.m` you can choose the mission.
+  
+    ```matlab    
+    mission = Mission();
+    mission.name = '2025_Orion_Portugal_October';
+    ```
+  * **settings**: this folder only contains `odeConfig.m`, which contains ODE settings.
+>[!CAUTION]
+> Don't touch `odeConfig.m` if you don't know what you're doing, from this configuration file depend ode-based script, such ad ballistic.m, and so all the toolkits!.
+
+Inside the mission folder, you can find all the missions and their data and configurations file. Each folder has the name of the mission in a specific format/order. This format is the one you have to use when speficing the mission in `missionConfig.m`.
+
+```matlab
+% YEAR_ROCKETNAME_LOCATION_MONTH 
+mission.name = '2025_Orion_Portugal_October';
+```
+Inside this folder you will find:
+
+* config: there are four files of config:
+
+    * `environmentConfig.m`: it sets environmental variables for the launch and they are indipendent from the rocket itself (latitude, longitude, ...)
+    * `paraConfig.m`: configs for all parachutes onboard of both main and parafoil
+    * `rocketConfig.m`: general parameters of the rocket divided for each bay (nose, parafoil, recovery, ...)
+    * `windConfig.m`: wind custom and wind matlab configs
+* data: all the `.mat` files are stored; the collect all the data which will be used by toolkits
+
+>[!NOTE]
+> Classes were introduced during the 2024 refactoring of the toolkit! This new architecture enhances robustness, automation, and includes auto-generated documentation for classes.
+
+# Projects
 
 ## Constellation programme
 ### 2025