diff --git a/README.md b/README.md
index 487984c20a743aa0724bdf51a3af043174cf9a69..f5cf34041f86a6a4355160e66f30621770b213f4 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ This repository contains the material for the practical session of course [RM4ES
     - [Exercise 3: back to the course exercise](#exercise-3-back-to-the-course-exercise)
     - [Exercise 4: bigger workload input](#exercise-4-bigger-workload-input)
   - [Mini-projects](#mini-projects)
-    - [Presentation](#presentation)
+    - [Project expectations and output](#project-expectations-and-output)
     - [Topics](#topics)
 
 
@@ -279,18 +279,21 @@ Upload your file `20jobs.csv` along with the 4 gantt charts and (FCFS and EDF, m
 
 ## Mini-projects
 **Objective for this session:** 
-- strengthens your understanding of scheduling and simulation
-- solving an open question
+- strengthen your understanding of scheduling and simulation
+- solve an open question
 - carry an experimental approach by proposing suitable inputs for validation
 
-### Presentation
-Your presentation should:
+### Project expectations and output
+There will be two outputs for the project: an oral presentation and an assignment on Moodle.
+
+The presentation should last ~10 minutes, with visual material (code, slides, figures..).
+During the presentation, you are expected to:
 - explain your scheduling algorithm,
-- show how it is implemented (the main points)
-- make a demonstration of your scheduler, including everything you deem relevant: gantt charts, scheduling metrics, energy metrics, comparison with FCFS/EDF...
-- use complex examples (many machines, many jobs, ...)
+- highlight the main points of its implementation,
+- showcase the functioning of your scheduler, including everything you deem relevant: gantt charts, scheduling metrics, energy metrics, comparison with FCFS/EDF... 
+- show results with non-trivial examples (>10 machines, many jobs)
+
 
-The presentation should last around 10 minutes per group
 
 ### Topics
 **Heterogeneous machines with deadlines.**
@@ -301,9 +304,9 @@ You will have to use [parallel_homogeneous_total](https://batsim.readthedocs.io/
 **Energy & machine on/off.**
 Implement a heuristic to switch off idle machines in order to save energy.  
 You will need to adapt 
-- the platform file to give an energy consumption value to your machines in computing, sleep, switching on and switching off state (see [Millian Poquet PhD thesis](https://theses.hal.science/tel-01757245v2/document) parts 2.3 and 4.5 where the energy model is explained, you can draw inspiration from [this platform file](https://github.com/oar-team/batsim/blob/master/platforms/energy_platform.xml)). 
+- the platform file to give an energy consumption value to your machines in computing, sleep, switching on and switching off state (see [Millian Poquet PhD thesis](https://theses.hal.science/tel-01757245v2/document) parts 2.3 and 4.5 where the energy model is explained, you can draw inspiration from [this platform file](https://github.com/oar-team/batsim/blob/a30f93c840f13d3ffd17afcc67b67dc9e8385821/platforms/energy_platform.xml)). 
 - the workload file to use [parallel_homogeneous_total](https://batsim.readthedocs.io/en/latest/input-workload.html?highlight=parallel#homogeneous-parallel-task-with-total-amount) job profiles instead of [delay](https://batsim.readthedocs.io/en/latest/input-workload.html?highlight=parallel#delay) that do not take into account energy
-- the `batsim` call to get [energy-specific output files](https://batsim.readthedocs.io/en/latest/output-energy.html) (add the option `--energy`)
+- the call to `batsim` CLI to get [energy-specific output files](https://batsim.readthedocs.io/en/latest/output-energy.html) (add the option `--energy`)
 
 **Energy & powercap.**
 Implement a scheduler with instantaneous power constraint.  
@@ -314,7 +317,7 @@ You will need to adapt to the energy model (see the 3 bullet points in the topic
 **Multimachine jobs.**
 When a job requests many resources, it sometimes "blocks the queue" because there are currently not enough machines available to execute it.
 To solve this problem, we can use a technique called "backfilling".
-It consists in looking for jobs that are situated **after** the blocking job in the queue and execute them now, under certain conditions.   
+It consists in looking for jobs that are situated **after** the blocking job in the queue and execute them now, under certain conditions, such as they fit in the available space without impacting the blocking job.   
 Implement your version of backfilling and demonstrate that it improves the scheduling (on simple cases and on big cases by looking at scheduling metrics).
 
 **Preemption.**
@@ -323,7 +326,7 @@ To simulate preemption, you can kill and resubmit a job.
 For example, imagine `job1` needs to execute for 5UT.
 It runs for 2UT and then `job2` arrives with a shorter deadline. 
 To simulate preemption you need to kill `job1` and dynamically resubmit a job with the same deadline, and 5-2=3UT to execute.  
-Look at messages KILL_JOB, REGISTER_JOB and REGISTER_PROFILE in [batsim protocol](https://batsim.readthedocs.io/en/latest/protocol.html) (respectively `self.bs.kill_jobs(jobs)`, `self.bs.register_profiles(workload_name, profiles)` and `self.bs.register_job(id,res,walltime,profile_name)` in pybatsim).
+Look at the events KILL_JOB, REGISTER_JOB and REGISTER_PROFILE in [batsim protocol](https://batsim.readthedocs.io/en/latest/protocol.html) (respectively `self.bs.kill_jobs(jobs)`, `self.bs.register_profiles(workload_name, profiles)` and `self.bs.register_job(id,res,walltime,profile_name)` in pybatsim).
 You will also need to clean the duplicated jobs in the batsim output.