diff --git a/rover.py b/rover.py
index f6f5235a89edd1ccfe38d13419f292601b70c895..7f8c17e98ff7c0fa3ee5ece6345973f60ad961d9 100644
--- a/rover.py
+++ b/rover.py
@@ -115,8 +115,11 @@ class Map:
 
 
 class MissionControl:
-    def __init__(self):
-        pass
+    def __init__(self, rover:Rover):
+        self.rover = rover
+
+    def execute_command(self, cmd:str) -> str:
+        return self.rover.drive(cmd)
 
 
 class TestRover(unittest.TestCase):
@@ -124,22 +127,30 @@ class TestRover(unittest.TestCase):
     # Test Move Forward in Different Directions
     def test_move_forward_north(self):
         rover = Rover(0, 0, 'N')
-        rover.move_forward()
+        control = MissionControl(rover)
+
+        control.execute_command('F')
         self.assertEqual((rover.x, rover.y), (0,1))
-    
+
     def test_move_forward_south(self):
         rover = Rover(0, 1, 'S')
-        rover.move_forward()
-        self.assertEqual((rover.x, rover.y), (0,0))
+        control = MissionControl(rover)
 
-    def test_move_forward_east(self):
+        control.execute_command('F')
+        self.assertEqual((rover.x, rover.y), (0,0))
+    
+    def test_move_forward_east(self):   
         rover = Rover(0, 0, 'E')
-        rover.move_forward()
+        control = MissionControl(rover)
+
+        control.execute_command('F')
         self.assertEqual((rover.x, rover.y), (1,0))
 
     def test_move_forward_west(self):
         rover = Rover(1, 0, 'W')
-        rover.move_forward()
+        control = MissionControl(rover)
+
+        control.execute_command('F')
         self.assertEqual((rover.x, rover.y), (0,0))