diff --git a/mars.py b/mars.py
index 761a96847d75fc3d1b9baaa2d645c345d9ed3974..297dca1b293d15294cd7599915dbf81412765918 100644
--- a/mars.py
+++ b/mars.py
@@ -2,17 +2,35 @@ from plateau import Plateau
 
 class Mars:
     """
-    Eine Klasse zur Repräsentation des Mars.
+    Eine Singleton-Klasse zur Repräsentation des Mars.
+    Es kann nur eine Instanz dieser Klasse existieren.
     """
+    _instance = None
     
-    def __init__(self, plateau: Plateau):
+    def __new__(cls, plateau: Plateau = None):
         """
-        Initialisiert den Mars mit einem Plateau.
+        Erstellt eine neue Mars-Instanz oder gibt die existierende zurück.
+        
+        Args:
+            plateau: Das Plateau, das den Mars repräsentiert (nur beim ersten Aufruf verwendet)
+            
+        Returns:
+            Die einzige Instanz der Mars-Klasse
+        """
+        if cls._instance is None:
+            cls._instance = super(Mars, cls).__new__(cls)
+            cls._instance.plateau = plateau
+        return cls._instance
+    
+    def __init__(self, plateau: Plateau = None):
+        """
+        Initialisiert den Mars (wird nur beim ersten Mal ausgeführt).
         
         Args:
             plateau: Das Plateau, das den Mars repräsentiert
         """
-        self.plateau = plateau
+        if not hasattr(self, 'plateau'):
+            self.plateau = plateau
     
     def drive(self, cmd: str) -> str:
         """