diff --git a/pyAmakCore/classes/environment.py b/pyAmakCore/classes/environment.py
index ce59b09f9ddefe7cd24c6e0505f253b5fd367904..06ff97236235c47ee56263bea333b9c0cf50075e 100644
--- a/pyAmakCore/classes/environment.py
+++ b/pyAmakCore/classes/environment.py
@@ -1,6 +1,8 @@
 """
 Environment class
 """
+from random import seed
+
 import sys
 import pathlib
 sys.path.insert(0, str(pathlib.Path(__file__).parent))
@@ -15,12 +17,19 @@ class Environment(Schedulable):
     """
 
     def __init__(self) -> None:
+        self.set_seed()
         super().__init__()
         self.scheduler: Scheduler = None
         self.on_initialization()
         # tell scheduler that init is done
         self.give_token_syncro()
 
+    def set_seed(self):
+        """
+        This method set the seed for all random in the system, it should be override to set a custom seed
+        """
+        seed()
+
     def add_scheduler(self, scheduler: Scheduler) -> None:
         """
         set scheduler pointer to scheduler
diff --git a/pyAmakCore/exception/override.py b/pyAmakCore/exception/override.py
index 5200055905fe0e1359629f08522cb425f3f8e495..455dd26731c65c7596e5045dd33114843c91905c 100644
--- a/pyAmakCore/exception/override.py
+++ b/pyAmakCore/exception/override.py
@@ -7,9 +7,15 @@ class ToOverrideWarning:
     """
     Warning raised a method that should be override is called
     """
+    __enable_warning = True
 
     def __init__(
             self,
             name: str
     ) -> None:
-        print("[WARNING] : Method " + name + " was called without being override.")
+        if ToOverrideWarning.__enable_warning:
+            print("[WARNING] : Method " + name + " was called without being override.")
+
+    @classmethod
+    def enable_warning(cls, condition: bool) -> None:
+        cls.__enable_warning = condition
diff --git a/pyAmakCore/tests/memory_leak/main.py b/pyAmakCore/tests/memory_leak/main.py
index 189fad630707dcfbb9f06245fb3368bceadd0324..0210fbd3dc99c0d843fa42de40e0bced3df3e700 100644
--- a/pyAmakCore/tests/memory_leak/main.py
+++ b/pyAmakCore/tests/memory_leak/main.py
@@ -16,7 +16,7 @@ class SimpleAmas(Amas):
 
     def on_initial_agents_creation(self) -> None:
         for i in range(10):
-            self.add_agent(Agent(self))
+            self.add_agent(SimpleAgent(self))
 
 
 class SimpleEnv(Environment):
@@ -35,4 +35,8 @@ amas.start()
 
 """
 There are no visible memory leak in pyAmakCore
+"""
+"""
+TODO : 
+We could test add agent / get most critical neighbor ... also
 """
\ No newline at end of file
diff --git a/pyAmakCore/tests/seed/main.py b/pyAmakCore/tests/seed/main.py
new file mode 100644
index 0000000000000000000000000000000000000000..6a8163203a1d4307096fc4f39a64c34d51918745
--- /dev/null
+++ b/pyAmakCore/tests/seed/main.py
@@ -0,0 +1,54 @@
+from random import randint, seed
+from time import sleep
+
+from pyAmakCore.classes.amas import Amas
+from pyAmakCore.classes.environment import Environment
+from pyAmakCore.classes.agent import Agent
+from pyAmakCore.exception.override import ToOverrideWarning
+
+
+class SimpleAgent(Agent):
+    """
+    test
+    """
+    def on_act(self) -> None:
+        print(randint(0, 100))
+
+
+
+class SimpleAmas(Amas):
+    """
+    test
+    """
+
+    def on_initialization(self) -> None:
+        ToOverrideWarning.enable_warning(False)
+
+    def on_initial_agents_creation(self) -> None:
+        for i in range(10):
+            self.add_agent(SimpleAgent(self))
+
+    def on_cycle_begin(self) -> None:
+        pass
+        # print(randint(0, 100))
+
+    def on_cycle_end(self) -> None:
+        if self.get_cycle() == 30:
+            sleep(300)
+
+
+class SimpleEnv(Environment):
+    """
+    test
+    """
+
+    def set_seed(self):
+        seed(30)
+
+
+env = SimpleEnv()
+amas = SimpleAmas(env)
+
+amas.put_token()
+
+amas.start()