diff --git a/Agent_Theo_Brockmann.py b/Agent_Theo_Brockmann.py
new file mode 100644
index 0000000000000000000000000000000000000000..6ab477e3e3d8800739d113e9c7db0a2786db4587
--- /dev/null
+++ b/Agent_Theo_Brockmann.py
@@ -0,0 +1,114 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Fri Feb  5 08:57:41 2021
+
+@author: theob
+"""
+
+
+import asyncio
+import Gym_new
+import time
+import nest_asyncio
+import numpy as np
+
+    
+
+async def main():
+    
+    env = Gym_new.Gym()
+    await env.connect_websocket()
+    
+    win = 0
+    loss = 0
+    
+    for i in range(100):
+        delta = 0.01
+        kurve = True
+        
+        not_on = True
+        show_angle = 0
+        
+        observation, reward, done, info = await env.reset("",0.01)
+        total_reward = 0
+        actions = "accelerate"
+        observation, reward, done, info = await env.step(actions, 0.5)
+        old_observation = observation
+        while not done and total_reward > -80 and reward[1] < 50:
+            speed = observation[0]
+            angle = observation[1]
+            try:
+                if kurve:
+                    soll_winkel = (observation[2][1] - observation[2][3]) - 1.5 * (observation[2][6] - observation[2][2])
+                    
+                    soll_winkel = min(5, soll_winkel)
+                    if soll_winkel > angle:
+                        actions = 'steer_right'
+                    elif soll_winkel < angle:
+                        actions = "steer_left"
+                    if speed < 50:
+                        actions += "accelerate"
+                
+                else:
+                    if observation[2][2] < 6 and not_on:
+                        soll_winkel = (observation[2][1]-observation[2][3]) - min(2, 0.25 * (6.5 - observation[2][2])) + 0.5 * (6 - min(6, observation[2][5]) + (4 - min(4, observation[2][6])) + 0.25 * (4 - min(4, observation[2][7])) - (4 - min(4, observation[2][2])))
+                    elif observation[2][1] > 8:
+                        not_on = False
+                        soll_winkel = min(4, 0.5 * (observation[2][1]-observation[2][3]) - 0.5 * (6.5 - observation[2][2]))# - 0.5 * (6.5 - min(6.5, observation[2][2]))
+                    else:
+                        not_on = False
+                        soll_winkel = 0
+                    if show_angle > 10:
+                        # print(soll_winkel)
+                        show_angle = 0
+                    show_angle += 1
+                    
+                    soll_winkel = min(5, soll_winkel)
+                    if soll_winkel > angle:
+                        actions = 'steer_right'
+                    elif soll_winkel < angle:
+                        actions = "steer_left"                    
+                    
+                    if speed < 80 and observation[2][0] > 5:
+                        actions += "accelerate"
+                    elif observation[2][0] < 4:
+                        actions += "brake"
+            except:
+                pass
+            
+            det_kurve = observation[2][5:8]
+            old_observation = observation
+            observation, reward, done, info = await env.step(actions,delta)
+            det_kurve2 = observation[2][5:8]
+            try:
+                if det_kurve2[0]/det_kurve[0] > 1.5 or det_kurve2[1]/det_kurve[1] > 1.5 or det_kurve2[2]/det_kurve[2] > 1.5:
+                    kurve = False
+            except:
+                pass
+            total_reward -= reward[1]
+            actions = ""
+            
+        #print(old_observation)
+        print(total_reward)
+        if total_reward > 50:
+            win += 1
+        else:
+            loss += 1
+        print(win)
+        print(loss)
+        print(i + 1)
+        f=open('ClientV3TestDone_spped50_10_03_map3.csv','ab')
+        np.savetxt(f,[np.append(done,reward[0])])
+        f.close()
+        print('\n')
+        # Indent
+    
+    print(win)
+    print(loss)
+    print(win/(win+loss))
+    await env.close_websocket()
+        
+if __name__ == "__main__":
+    nest_asyncio.apply()
+    loop = asyncio.get_event_loop()
+    loop.run_until_complete(main())
\ No newline at end of file