diff --git a/pyAmakCore/classes/agent.py b/pyAmakCore/classes/agent.py
index 16606ab466f276cb4e3a15f816c40e92977f822d..f5a979cee0771987c76cec4463613dcfcb34b811 100644
--- a/pyAmakCore/classes/agent.py
+++ b/pyAmakCore/classes/agent.py
@@ -104,6 +104,12 @@ class Agent:
         """
         self.__neighbours = []
 
+    def get_criticality(self) -> float:
+        """
+        return criticality
+        """
+        return self.__criticality
+
     def compute_criticality(self) -> float:
         """
         compute_criticality
@@ -168,7 +174,7 @@ class Agent:
         this is the first phase of a cycle
         """
         self.on_perceive()
-        self.compute_criticality()
+        self.__criticality = self.compute_criticality()
         self._next_phase()
 
     def _phase2(self) -> None:
@@ -177,7 +183,7 @@ class Agent:
         """
         self.on_decide()
         self.on_act()
-        self.compute_criticality()
+        self.__criticality = self.compute_criticality()
         self._next_phase()
 
     def _next_phase(self):
diff --git a/pyAmakCore/classes/amas.py b/pyAmakCore/classes/amas.py
index b78109818ba2a54c771b8fe58aae8209bfc0e98f..39868c5dfa21c94d3d9f10fb1d29120d8931d323 100644
--- a/pyAmakCore/classes/amas.py
+++ b/pyAmakCore/classes/amas.py
@@ -32,9 +32,9 @@ class Amas(Schedulable, Loggable):
         self.__agents: List[Agent] = []
         self.__nbrcycle: int = 0
 
-        self.scheduler: Scheduler = Scheduler()
-        self.scheduler.add_schedulable(self)
-        self.__environment.add_scheduler(self.scheduler)
+        self.__scheduler: Scheduler = Scheduler()
+        self.__scheduler.add_schedulable(self)
+        self.__environment.add_scheduler(self.__scheduler)
 
         self.__execution_policy: ExecutionPolicy = ExecutionPolicy.ONE_PHASE
 
@@ -112,7 +112,7 @@ class Amas(Schedulable, Loggable):
         Unlock Scheduler and wait for his response
         """
         self.give_token_syncro()
-        self.scheduler.take_amas_token()
+        self.__scheduler.take_amas_token()
 
     def cycle(self) -> None:
         """
@@ -153,29 +153,29 @@ class Amas(Schedulable, Loggable):
         """
         Tell scheduler to start
         """
-        self.scheduler.give_semaphore_start_stop()
+        self.__scheduler.give_semaphore_start_stop()
 
     def take_token(self) -> None:
         """
         Tell scheduler to stop
         """
-        self.scheduler.take_semaphore_start_stop()
+        self.__scheduler.take_semaphore_start_stop()
 
     def exit_program(self) -> None:
         """
         exit the program at the end of the cycle
         """
         self.put_token()
-        self.scheduler.exit_bool = True
+        self.__scheduler.exit_bool = True
 
     def set_sleep(self, sleep_time) -> None:
         """
         set sleep between 2 cycles
         """
-        self.scheduler.sleep_time = sleep_time
+        self.__scheduler.sleep_time = sleep_time
 
     def start(self) -> None:
         """
         launch the system
         """
-        self.scheduler.run()
+        self.__scheduler.run()
diff --git a/pyAmakCore/classes/environment.py b/pyAmakCore/classes/environment.py
index ce59b09f9ddefe7cd24c6e0505f253b5fd367904..52c7727c464fe8b370087be926fc7a4d30068956 100644
--- a/pyAmakCore/classes/environment.py
+++ b/pyAmakCore/classes/environment.py
@@ -16,7 +16,7 @@ class Environment(Schedulable):
 
     def __init__(self) -> None:
         super().__init__()
-        self.scheduler: Scheduler = None
+        self.__scheduler: Scheduler = None
         self.on_initialization()
         # tell scheduler that init is done
         self.give_token_syncro()
@@ -26,15 +26,15 @@ class Environment(Schedulable):
         set scheduler pointer to scheduler
         add add self to schedulables of scheduler
         """
-        self.scheduler = scheduler
-        self.scheduler.add_schedulable(self)
+        self.__scheduler = scheduler
+        self.__scheduler.add_schedulable(self)
 
     def synchronization(self) -> None:
         """
         Unlock Scheduler and wait for his response
         """
         self.give_token_syncro()
-        self.scheduler.take_environment_token()
+        self.__scheduler.take_environment_token()
 
     def cycle(self) -> None:
         """
diff --git a/pyAmakCore/tests/test_amas/test_agent.py b/pyAmakCore/tests/test_amas/test_agent.py
index 5726bce9394dd991bd47160002d645f03c2b2c9b..c5b623ab8c92bb2d62e2af4e93ac6ee2cef01d1d 100644
--- a/pyAmakCore/tests/test_amas/test_agent.py
+++ b/pyAmakCore/tests/test_amas/test_agent.py
@@ -38,9 +38,6 @@ class TestAmasAgents(TestCase):
         agent1 = Agent(amas)
         agent2 = Agent(amas)
         agent3 = Agent(amas)
-        agent4 = Agent(amas)
-        agent5 = Agent(amas)
-
         # add 1 agent
         amas.add_agent(agent1)
         self.assertEqual(amas.get_agents(), [agent1])
diff --git a/pyAmakCore/tests/test_amas/test_nbr_cycle.py b/pyAmakCore/tests/test_amas/test_nbr_cycle.py
index 7bc3a8e2cb5e871c9b05c15fcf8898fe19eddb00..e4341b38daeb7eb8fa9f24a3bf6f2b0e86e3856e 100644
--- a/pyAmakCore/tests/test_amas/test_nbr_cycle.py
+++ b/pyAmakCore/tests/test_amas/test_nbr_cycle.py
@@ -12,7 +12,7 @@ from pyAmakCore.classes.environment import Environment
 class SimplerAmas(Amas):
 
     def synchronization(self):
-        self.scheduler.give_amas_token()
+        self._Amas__scheduler.give_amas_token()
         super().synchronization()