diff --git a/src/stringcalculator.py b/src/stringcalculator.py
index 41f666fdc4d0e39d619a00d678088cdbfca15376..748f0de39cb0a6aac6adc4e8c031b3e97e9414b0 100644
--- a/src/stringcalculator.py
+++ b/src/stringcalculator.py
@@ -1,7 +1,13 @@
 from src.interfaces import IStringCalculator
+import re
+
 
 class StringCalculator(IStringCalculator):
     def add(self, numbers: str) -> int:
         if not numbers:
             return 0
-        return sum(map(int, numbers.split(',')))
\ No newline at end of file
+
+        # Erlaubt Kommas und Zeilenumbrüche als Trennzeichen
+        tokens = re.split(r"[,\n]", numbers)
+
+        return sum(map(int, tokens))
\ No newline at end of file
diff --git a/tests/test_stringclaculator.py b/tests/test_stringclaculator.py
index c428c05fa5013972c164141f7f9cc95509360d68..dbafdfe3d26e924951e6fe08295623fcb7a68e8c 100644
--- a/tests/test_stringclaculator.py
+++ b/tests/test_stringclaculator.py
@@ -3,11 +3,12 @@
 # Bei Eingabe einer 1 soll 1 ausgegeben werden
 # Bei Eingabe einer 3,4 soll 7 ausgegeben werden
 # Bei Eingabe einer 10,20 soll 30 ausgegeben werden
-#Feature1
+#Feature1 Längere Zahlenfolge
 # Bei Eingabe einer 1,2,3 soll 6 ausgegeben werden
 # Bei Eingabe einer 10,20,30,40 soll 100 ausgegeben werden
-#Feature2
-# Bei Eingabe einer
+#Feature2 Neues Trennzeichen neben dem Komma
+# Bei Eingabe von 1\n2,3 soll 6 ausgegeben werden
+# Bei Eingabe von 10\n20\n30 soll 60 ausgegeben werden
 
 import unittest
 from src.interfaces import IStringCalculator
@@ -30,6 +31,10 @@ class TestStringCalculator(unittest.TestCase):
         self.assertEqual(self.calculator.add("1,2,3"), 6)
         self.assertEqual(self.calculator.add("10,20,30,40"), 100)
 
+    def test_add_with_newline_separator(self):
+        self.assertEqual(self.calculator.add("1\n2,3"), 6)
+        self.assertEqual(self.calculator.add("10\n20\n30"), 60)
+
 if __name__ == "__main__":
     unittest.main()