diff --git a/.gitignore b/.gitignore
index d63207953a215bd3ad7f5f730dbfab0e89bd68fb..23ff99ed25435734878454bd62cfce5e549f0001 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 out/*
 !out/example_jobs.csv
-*__pycache__*
\ No newline at end of file
+*__pycache__*
+*_perso/*
\ No newline at end of file
diff --git a/sched/fcfs.py b/sched/fcfs.py
deleted file mode 100644
index a5f83ee947a2923096c5622906ce06f386fe9b67..0000000000000000000000000000000000000000
--- a/sched/fcfs.py
+++ /dev/null
@@ -1,85 +0,0 @@
-"""
-This scheduler is a simple FCFS:
-- Released jobs are pushed in the back of one single queue
-- Two jobs cannot be executed on the same machine at the same time
-- Only the job at the head of the queue can be allocated
-
-  - If the job is too big (will never fit the machine), it is rejected
-  - If the job can fit the machine now, it is allocated (and run) instantly
-  - If the job cannot fit the machine now, the scheduler will waits for enough available machines
-
-"""
-
-from procset import ProcSet
-from itertools import islice
-
-from pybatsim.batsim.batsim import BatsimScheduler
-
-
-class Fcfs2(BatsimScheduler):
-    def __init__(self, options):
-        super().__init__(options)
-        self.logger.info("FCFS init")
-
-    def onSimulationBegins(self):
-        self.nb_completed_jobs = 0
-
-        self.sched_delay = 0.5 # Simulates the time spent by the scheduler to take decisions
-
-        self.open_jobs = []
-
-        self.computing_machines = ProcSet()
-        self.idle_machines = ProcSet((0,self.bs.nb_compute_resources-1))
-
-
-    def scheduleJobs(self):
-        print('\n\nopen_jobs = ', self.open_jobs)
-
-        print('computingM = ', self.computing_machines)
-        print('idleM = ', self.idle_machines)
-
-        scheduled_jobs = []
-        loop = True
-
-        # If there is a job to schedule
-        if len(self.open_jobs) > 0:
-
-            while loop and self.open_jobs:
-                job = self.open_jobs[0]
-                nb_res_req = job.requested_resources
-
-                # Job fits now -> allocation
-                if nb_res_req <= len(self.idle_machines):
-                    res = ProcSet(*islice(self.idle_machines, nb_res_req))
-                    job.allocation = res
-                    scheduled_jobs.append(job)
-
-                    self.computing_machines |= res
-                    self.idle_machines -= res
-                    self.open_jobs.remove(job)
-
-                else:  # Job can fit on the machine, but not now
-                    loop = False
-
-            # update time
-            self.bs.consume_time(self.sched_delay)
-
-            # send decision to batsim
-            self.bs.execute_jobs(scheduled_jobs)
-        else:
-            # No job to schedule
-            self.logger.info("There is no job to schedule right now")
-
-
-    def onJobSubmission(self, job):
-        if job.requested_resources > self.bs.nb_compute_resources:
-            self.bs.reject_jobs([job]) # This job requests more resources than the machine has
-        else:
-            self.open_jobs.append(job)
-
-    def onJobCompletion(self, job):
-        self.idle_machines |= job.allocation
-        self.computing_machines -= job.allocation
-
-    def onNoMoreEvents(self):
-        self.scheduleJobs()
diff --git a/sched/fillerSched.py b/sched/fillerSched.py
deleted file mode 100644
index 7b83c482d7b15391220634fd55ed51ed47d9030b..0000000000000000000000000000000000000000
--- a/sched/fillerSched.py
+++ /dev/null
@@ -1,63 +0,0 @@
-from batsim.batsim import BatsimScheduler, Batsim
-
-import sys
-import os
-from procset import ProcSet
-from itertools import islice
-
-
-class FillerSched(BatsimScheduler):
-
-    def onAfterBatsimInit(self):
-        self.nb_completed_jobs = 0
-
-        self.jobs_completed = []
-        self.jobs_waiting = []
-
-        self.sched_delay = 0.005
-
-        self.openJobs = set()
-        self.availableResources = ProcSet((0,self.bs.nb_compute_resources-1))
-
-
-    def scheduleJobs(self):
-        scheduledJobs = []
-
-        print('openJobs = ', self.openJobs)
-        print('available = ', self.availableResources)
-
-        # Iterating over a copy to be able to remove jobs from openJobs at traversal
-        for job in set(self.openJobs):
-            nb_res_req = job.requested_resources
-
-            if nb_res_req <= len(self.availableResources):
-                # Retrieve the *nb_res_req* first availables resources
-                job_alloc = ProcSet(*islice(self.availableResources, nb_res_req))
-                job.allocation = job_alloc
-                scheduledJobs.append(job)
-
-                self.availableResources -= job_alloc
-
-                self.openJobs.remove(job)
-
-        # update time
-        self.bs.consume_time(self.sched_delay)
-
-        # send to uds
-        if len(scheduledJobs) > 0:
-            self.bs.execute_jobs(scheduledJobs)
-
-        print('openJobs = ', self.openJobs)
-        print('available = ', self.availableResources)
-        print('')
-
-    def onJobSubmission(self, job):
-        if job.requested_resources > self.bs.nb_compute_resources:
-            self.bs.reject_jobs([job]) # This job requests more resources than the machine has
-        else:
-            self.openJobs.add(job)
-            self.scheduleJobs()
-
-    def onJobCompletion(self, job):
-        self.availableResources |= job.allocation
-        self.scheduleJobs()