diff --git a/TestRover.py b/TestRover.py
new file mode 100644
index 0000000000000000000000000000000000000000..310d490220c1798f2ccad542a10b053cb076c3c1
--- /dev/null
+++ b/TestRover.py
@@ -0,0 +1,63 @@
+# Vorwärtsfahren
+# Wenn der Rover in Richtung Norden schaut und den Befehl "F" erhält, erhöht sich seine y-Koordinate um 1.
+# Wenn der Rover in Richtung Süden schaut und den Befehl "F" erhält, verringert sich seine y-Koordinate um 1.
+# Wenn der Rover in Richtung Osten schaut und den Befehl "F" erhält, erhöht sich seine x-Koordinate um 1.
+# Wenn der Rover in Richtung Westen schaut und den Befehl "F" erhält, verringert sich seine x-Koordinate um 1.
+
+# Rückwärtsfahren
+# Wenn der Rover in Richtung Norden schaut und den Befehl "B" erhält, verringert sich seine y-Koordinate um 1.
+# Wenn der Rover in Richtung Süden schaut und den Befehl "B" erhält, erhöht sich seine y-Koordinate um 1.
+# Wenn der Rover in Richtung Osten schaut und den Befehl "B" erhält, verringert sich seine x-Koordinate um 1.
+# Wenn der Rover in Richtung Westen schaut und den Befehl "B" erhält, erhöht sich seine x-Koordinate um 1.
+
+# 45°-Links-Drehung
+# Wenn der Rover in Richtung Norden schaut und den Befehl "L" erhält, ändert sich seine Blickrichtung auf Nord-West.
+# Wenn der Rover in Richtung Süden schaut und den Befehl "L" erhält, ändert sich seine Blickrichtung auf Süd-Ost.
+# Wenn der Rover in Richtung Osten schaut und den Befehl "L" erhält, ändert sich seine Blickrichtung auf Nord-Ost.
+# Wenn der Rover in Richtung Westen schaut und den Befehl "L" erhält, ändert sich seine Blickrichtung auf Süd-West.
+
+# 45°-Rechts-Drehung
+# Wenn der Rover in Richtung Norden schaut und den Befehl "R" erhält, ändert sich seine Blickrichtung auf Nord-Ost.
+# Wenn der Rover in Richtung Süden schaut und den Befehl "R" erhält, ändert sich seine Blickrichtung auf Süd-West.
+# Wenn der Rover in Richtung Osten schaut und den Befehl "R" erhält, ändert sich seine Blickrichtung auf Süd-Ost.
+# Wenn der Rover in Richtung Westen schaut und den Befehl "R" erhält, ändert sich seine Blickrichtung auf Nord-West.
+
+# Sequenzverarbeitung
+# Wenn der Rover in Richtung Norden schaut und den Befehl "RF" erhält, ändert sich die Blickrichtung auf Nord-Ost und die x, sowie die y-Koordinate erhöhen sich um 1.
+# Wenn der Rover in Richtung Nord-Ost schaut und den Befehl "RFF" erhält, ändert sich die Blickrichtung auf Osten und die x-Koordinate erhöht sich um 2.
+# Wenn der Rover in Richtung Nord-Ost schaut und den Befehl "BBBBBLL" erhählt, verringert sich die x-Koordinate um 5 und die Blickrichtung ändert sich auf Norden.
+# Wenn der Rover in Richtung Norden schaut und den Befehl "BRRRFLF" erhält, verringert sich die y-Koordinate um 2, die Blickrichtung ändert sich auf Osten und die x-Koordinate erhöht sich um 2.
+
+# Hinderniserkennung
+# Wenn der Rover in Richtung Norden schaut und den Befehl "F" erhält obwohl ein Hindernis in dieser Richtung ist, bleibt der Rover stehen und die y-Koordinate ändert sich nicht.
+# Wenn der Rover in Richtung Süden schaut und den Befehl "B" erhält obwohl ein Hindernis in dieser Richtung ist, bleibt der Rover stehen und die y-Koordinate ändert sich nicht.
+# Wenn der Rover in Richtung Osten schaut und den Befehl "F" erhält obwohl ein Hindernis in dieser Richtung ist, bleibt der Rover stehen und die x-Koordinate ändert sich nicht.
+# Wenn der Rover in Richtung Westen schaut und den Befehl "B" erhält obwohl ein Hindernis in dieser Richtung ist, bleibt der Rover stehen und die x-Koordinate ändert sich nicht.
+# Wenn der Rover in Richtung Norden bei (3,3) schaut und den Befehl "FF" erhält obwohl ein Hindernis bei (3,5) ist, führt der Rover nur den ersten Befehl aus und bleibt bei (3,4) stehen.	
+# Wenn der Rover in Richtung Norden bei (3,4) schaut und den Befehl "FFRRFF" erhält obwohl ein Hindernis bei (3,5) ist, bleibt er bei (3,4) stehen.
+# Wenn der Rover in Richtung Norden bei (3,4) schaut und den Befehl "RFF" erhält obwohl ein Hindernis bei (3,5) ist, bleibt er bei (3,4) stehen.
+# Wenn der Rover in Richtung Norden bei (3,4) schaut und den Befehl "RRFLLFF" erhält obwohl ein Hindernis bei (3,5) ist, muss er bei (4,6) stehen bleiben.
+
+# Plateau-Rand-Erkennung
+# Wenn der Rover an der oberen Kante (y = 15) steht, Richtung Norden schaut und den Befehl "F" erhält, bleibt er stehen.
+# Wenn der Rover an der unteren Kante (y = 0) steht, Richtung Süden schaut und den Befehl "F" erhält, bleibt er stehen.
+# Wenn der Rover an der rechten Kante (x = 15) steht, Richtung Osten schaut und den Befehl "F" erhält, bleibt er stehen.
+# Wenn der Rover an der linken Kante (x = 0) steht, Richtung Westen schaut und den Befehl "F" erhält, bleibt er stehen.
+
+# Wenn der Rover in Richtung einer Plateau-Grenze fährt, werden keine weiteren Befehle in der Sequenz mehr ausgeführt.
+# Beispiel: Steht der Rover bei (1,0), schaut nach Westen, und erhält "FFRF", bleibt er nach dem ersten "F" stehen (bei (0,0)) und ignoriert den Rest.
+
+# Rückmeldung über erfolgreich ausgeführte Befehle
+# Wenn der Rover die Sequenz "FFRF" ausführt und beim zweiten "F" ein Hindernis erkennt, meldet er: ["F"] erfolgreich, Stopp bei Befehl 2.
+# Wenn der Rover die Sequenz "FFLF" ausführt und beim letzten "F" am Plateau-Rand steht, meldet er: ["F", "F", "L"] erfolgreich, Stopp bei Befehl 4.
+# Wenn der Rover die gesamte Sequenz "FRFL" erfolgreich ausführt, wird dies vollständig gemeldet.
+
+# Relative Position und Ausrichtung nachverfolgen
+# Wenn der Rover an Position (1,1) startet, Richtung Norden schaut, und "FRF" erhält, befindet er sich danach bei (3,3) mit Blickrichtung Nord-Ost.
+# Wenn der Rover bei (3,3) Richtung Westen schaut und "FLF" ausführt, endet er bei (1,3) mit Blickrichtung Süd-West.
+# Wenn der Rover durch Hindernis bei zweitem Schritt gestoppt wird, ist Position und Ausrichtung entsprechend dem letzten erfolgreichen Schritt.
+
+# Bonus: Kombination mehrerer Features
+# Wenn der Rover die Sequenz "FFRBFRL" erhält, aber nach dem "R" auf ein Hindernis trifft, bleibt er stehen und ignoriert "BFRL".
+# Wenn der Rover bei (15,15) steht, Richtung Nord-Ost, und "FF" erhält, wird nach dem ersten Schritt gestoppt (Plateau-Rand), Position bei (16,16) erreicht nicht – Rover bleibt bei (15,15).
+
diff --git a/rover.py b/rover.py
index a63ac84146e53a17c85540a920e9eead2f2a1880..75d1331b9664015bd2e06d1c8e7720a256f5b91d 100644
--- a/rover.py
+++ b/rover.py
@@ -61,6 +61,7 @@
 # Wenn der Rover die Sequenz "FFRBFRL" erhält, aber nach dem "R" auf ein Hindernis trifft, bleibt er stehen und ignoriert "BFRL".
 # Wenn der Rover bei (15,15) steht, Richtung Nord-Ost, und "FF" erhält, wird nach dem ersten Schritt gestoppt (Plateau-Rand), Position bei (16,16) erreicht nicht – Rover bleibt bei (15,15).
 
+#KONZEPT!!!
 import unittest
 from abc import ABC, abstractmethod
 
@@ -84,6 +85,7 @@ class Rover:
         self.directions = ['N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW']
         self.obstacles = obstacles if obstacles else []
 
+
     def check_for_obstacle(self):
         next_stepx, next_stepy = self.x, self.y
         if self.direction == 'N':
@@ -132,7 +134,7 @@ class Rover:
         return False
 
     def move_forward(self):
-        if not self.check_for_obstacle():
+        if not self.check_for_obstacle() and not self.check_plateau_bounds():
             if self.direction == 'N':
                 self.y += 1
             elif self.direction == 'S':
@@ -157,7 +159,7 @@ class Rover:
             print("Obstacle detected! Stopping movement.")
 
     def move_backward(self):
-        if not self.check_for_obstacle():
+        if not self.check_for_obstacle() and not self.check_plateau_bounds():
             if self.direction == 'N':
                 self.y -= 1
             elif self.direction == 'S':
@@ -253,6 +255,8 @@ class MissionControl:
 
 
 class TestRover(unittest.TestCase):
+    def setUp(self):
+        self.plateau = Plateau(size_x= 16, size_y= 16)
 
     # Test Move Forward in Different Directions
     def test_move_forward_north(self):
@@ -450,6 +454,30 @@ class TestRover(unittest.TestCase):
         self.assertEqual((rover.x, rover.y), (4,6))
         self.assertEqual(rover.direction, 'N')
 
+# Plateau-Rand-Erkennung
+# Wenn der Rover an der oberen Kante (y = 15) steht, Richtung Norden schaut und den Befehl "F" erhält, bleibt er stehen.
+# Wenn der Rover an der unteren Kante (y = 0) steht, Richtung Süden schaut und den Befehl "F" erhält, bleibt er stehen.
+# Wenn der Rover an der rechten Kante (x = 15) steht, Richtung Osten schaut und den Befehl "F" erhält, bleibt er stehen.
+# Wenn der Rover an der linken Kante (x = 0) steht, Richtung Westen schaut und den Befehl "F" erhält, bleibt er stehen.
+
+    def test_plateau_edge_detection(self):
+        rover = Rover(15, 15, 'N', plateau=self.plateau)
+        control = MissionControl(rover)
+
+        control.execute_command('F')
+        self.assertEqual((rover.x, rover.y), (15,15))
+        self.assertEqual(rover.direction, 'N')
+
+    def test_plateau_edge_detection_south(self):
+        rover = Rover(15, 15, 'S', plateau=self.plateau)
+        control = MissionControl(rover)
+
+        control.execute_command('B')
+        self.assertEqual((rover.x, rover.y), (15,15))
+        self.assertEqual(rover.direction, 'S')
+
+        
+
     
 
 if __name__ == '__main__':