diff --git a/README.md b/README.md
index 290a942de200a49abc88d122bdb47ce5c7f296f5..cbc919e4cfe0acdec39a62afab101dee1da49edf 100644
--- a/README.md
+++ b/README.md
@@ -3,11 +3,30 @@ BLC program
 
 Library providing command line program facilities
 
-- Parsing arguments
-- Interacting with the user in a terminal
+- 1. Parsing arguments
+- 2. Interacting with the user in a terminal
 
-BLC program
-============
+
+Program main loop
+=================
+
+**BLC_COMMAND_LOOP**(period in micro seconds)
+
+- Eventually acquires the profiling data.
+- Check if it is the iteration limit and pauses in this case.
+- Wait for the keyboard or the waiting semaphores
+- Ready to start, updates the timer
+
+     {
+       Your computation
+     }
+
+- Compute the time of the loop
+- Post the enventual posting semaphores
+- Eventually wait for more time (if it has been faster than the requested period )
+
+Tutorial
+========
 
 Exemple based on  **t_parse_arguments**
 ------------------------------------------------