diff --git a/docs/_static/compilation-pipeline/frontend_flow.svg b/docs/_static/compilation-pipeline/frontend_flow.svg
index 28235ea17..6b03dec9e 100644
--- a/docs/_static/compilation-pipeline/frontend_flow.svg
+++ b/docs/_static/compilation-pipeline/frontend_flow.svg
@@ -1,3 +1,4 @@
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/_static/compilation-pipeline/torch_to_numpy_flow.svg b/docs/_static/compilation-pipeline/torch_to_numpy_flow.svg
new file mode 100644
index 000000000..ea6710b1f
--- /dev/null
+++ b/docs/_static/compilation-pipeline/torch_to_numpy_flow.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/docs/dev/explanation/COMPILATION.md b/docs/dev/explanation/COMPILATION.md
index be0eee789..266f82f5c 100644
--- a/docs/dev/explanation/COMPILATION.md
+++ b/docs/dev/explanation/COMPILATION.md
@@ -28,7 +28,7 @@ circuit = compiler.get_compiled_fhe_circuit()
circuit.run(1, 0)
```
-## Overview
+## Overview of the numpy compilation process
The compilation journey begins with tracing to get an easy to understand and manipulate representation of the function.
We call this representation `Operation Graph` which is basically a Directed Acyclic Graph (DAG) containing nodes representing the computations done in the function.
@@ -51,12 +51,24 @@ Once the MLIR is prepared, the rest of the stack, which you can learn more about
Here is the visual representation of the pipeline:
-```{warning}
-FIXME(arthur): check the graph, update with what is missing, notably: torch to numpy, quantization. Maybe an independant graph for quantization may be clearer.
-```
-

+## Overview of the torch compilation process
+
+Compiling a torch Module is pretty straightforward.
+
+The torch Module is first converted to a NumPy equivalent we call `NumpyModule` if all the layers in the torch Module are supported.
+
+Then the module is quantized post training to be compatible with our compiler which only works on integers. The post training quantization uses the provided dataset for calibration.
+
+The dataset is then quantized to be usable for compilation with the QuantizedModule.
+
+The QuantizedModule is compiled yielding an executable FHECircuit.
+
+Here is the visual representation of the different steps:
+
+
+
## Tracing
Given a Python function `f` such as this one,