diff --git a/src/code_.py b/src/code_.py
index 2ba19ea000ae036e6c1e278a9a08db94156e925a..7f529f7695989863d2aba97439098414f728513c 100644
--- a/src/code_.py
+++ b/src/code_.py
@@ -21,8 +21,8 @@ class Code:
         self.code_wo_comments = re.sub(constant.BACKSLAPSH_JUMP, ' ', self.code_wo_comments)
         self.code_wo_comments = self.code_wo_comments.replace("||", "$OR$")
         self.code_wo_comments = self.turn_single_condition_into_multiline(self.code_wo_comments)
-        self.code_wo_comments = self.rewrite_ternary_operation_to_normal_condition(self.code_wo_comments)
         self.code_wo_comments = self.remove_things_inside_map(self.code_wo_comments )
+        self.code_wo_comments = self.rewrite_ternary_operation_to_normal_condition(self.code_wo_comments)
         self.code_wo_comments = self.rewrite_jump_dot(self.code_wo_comments)
 
 
@@ -130,24 +130,28 @@ class Code:
         while(searching):
             searching = False
             #TODO -> do the same with flatMap -> 668
-            patterns = [r"\.\s*map\s*{", r"\.\s*flatMap\s*{"]
             for word in ["map", "flatMap"]:
-                pattern = r"\.\s*"+word+r"\s*{"
-                for match in re.finditer(pattern, code):
-                    start_map, end = match.span(0)
-                    end_map = extract_curly(code, end)
-
-                    old = code[end:end_map-1]
-                    new = f"¤{id(self)}_{index}¤" 
-                    self.add_map_element(old, new)
-
-                    old_code = code[start_map:end_map]
-                    new_code = f".{word}_modified {{ {new} }}"
-                    code = code.replace(old_code, new_code)
-
-                    searching = True
-                    index+=1
-                    break
+                for end_char in ['{', '\(']:
+                    pattern = fr"\.\s*"+word+r"\s*"+end_char
+                    for match in re.finditer(pattern, code):
+                        start_map, end = match.span(0)
+                        if(end_char=="{"):
+                            end_map = extract_curly(code, end)
+                            old = code[end:end_map-1]
+                        else:
+                            old = get_code_until_parenthese_count(code[end:], -1)
+                            end_map = end+len(old)
+                            old = old.strip()[:-1]
+                        new = f"¤{id(self)}_{index}¤" 
+                        self.add_map_element(old, new)
+
+                        old_code = code[start_map:end_map]
+                        new_code = f".{word}_modified {{ {new} }}"
+                        code = code.replace(old_code, new_code)
+
+                        searching = True
+                        index+=1
+                        break
 
         return code