diff --git a/BerishaAlma_2/__pycache__/Feature1.cpython-312.pyc b/BerishaAlma_2/__pycache__/Feature1.cpython-312.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3270fcd902f81a4cc08bb171eabee1cce9c36aa1
Binary files /dev/null and b/BerishaAlma_2/__pycache__/Feature1.cpython-312.pyc differ
diff --git a/BerishaAlma_2/__pycache__/stringCalculator.cpython-312.pyc b/BerishaAlma_2/__pycache__/stringCalculator.cpython-312.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5f1c175d3824110b577dc877f78e2021bcf81f11
Binary files /dev/null and b/BerishaAlma_2/__pycache__/stringCalculator.cpython-312.pyc differ
diff --git a/BerishaAlma_2/__pycache__/stringCalculatorr.cpython-312.pyc b/BerishaAlma_2/__pycache__/stringCalculatorr.cpython-312.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5047f7559a0813d308e85fae57458ace61d9a67f
Binary files /dev/null and b/BerishaAlma_2/__pycache__/stringCalculatorr.cpython-312.pyc differ
diff --git a/BerishaAlma_2/my_calculator.py b/BerishaAlma_2/my_calculator.py
new file mode 100644
index 0000000000000000000000000000000000000000..8ac359bd5ab644f8481587890a59256a6dff02c1
--- /dev/null
+++ b/BerishaAlma_2/my_calculator.py
@@ -0,0 +1,58 @@
+#Implementierung von BerishaAlma auf meinen Testfälle: StringCalculator
+import unittest
+
+from stringCalculatorr import StringCalculator
+
+class TestStringCalculator(unittest.TestCase):
+    def setUp(self):
+        self.calculator = StringCalculator()
+    
+    def test_implements_interface(self):
+        self.assertIsInstance(self.calculator, StringCalculator)
+
+    def test_empty_string(self):
+        self.assertEqual(self.calculator.add(""), 0)
+    
+    def test_single_number(self):
+        self.assertEqual(self.calculator.add("1"), 1)
+    
+    def test_two_numbers(self):
+        self.assertEqual(self.calculator.add("1,2"), 3)
+    
+    def test_multiple_numbers(self):
+        self.assertEqual(self.calculator.add("1,2,3,4,5"), 15)
+    
+    def test_numbers_with_newline(self):
+        self.assertEqual(self.calculator.add("1\n2,3"), 6)
+    
+    def test_numbers_with_multiple_newlines(self):
+        self.assertEqual(self.calculator.add("1\n2\n3\n4\n5"), 15)
+    
+    def test_negative_number(self):
+        with self.assertRaises(ValueError) as context:
+            self.calculator.add("1,-2,3")
+        self.assertEqual(str(context.exception), "Negatives not allowed: -2")
+    
+    def test_multiple_negative_numbers(self):
+        with self.assertRaises(ValueError) as context:
+            self.calculator.add("1,-2,-3,4")
+        self.assertEqual(str(context.exception), "Negatives not allowed: -2, -3")
+    
+    def test_custom_delimiter(self):
+        self.assertEqual(self.calculator.add("//;\n1;2"), 3)
+    
+    def test_custom_delimiter_with_newline(self):
+        self.assertEqual(self.calculator.add("//;\n1;2\n3"), 6)
+    
+    def test_custom_delimiter_with_multiple_numbers(self):
+        self.assertEqual(self.calculator.add("//|\n1|2|3|4"), 10)
+    
+    def test_numbers_greater_than_1000(self):
+        self.assertEqual(self.calculator.add("2,1001"), 2)
+    
+    def test_numbers_greater_than_1000_with_custom_delimiter(self):
+        self.assertEqual(self.calculator.add("//;\n2;1001"), 2)
+    
+
+if __name__ == "__main__":
+    unittest.main()
diff --git a/BerishaAlma_2/stringCalculatorr.py b/BerishaAlma_2/stringCalculatorr.py
new file mode 100644
index 0000000000000000000000000000000000000000..02d9bb4fb196299382bf68dabd25f4d18ca4078f
--- /dev/null
+++ b/BerishaAlma_2/stringCalculatorr.py
@@ -0,0 +1,90 @@
+#Implementierung Aufgabe 02 von BerishaAlma und YildirimHatice
+
+from abc import ABC, abstractmethod
+import unittest
+
+class IStringCalculator(ABC):
+    @abstractmethod
+    def add(self, numbers: str) -> int:
+        pass
+
+class StringCalculator(IStringCalculator):
+    def add(self, numbers: str) -> int:
+        if not numbers:
+            return 0
+        
+        # Überprüfe, ob ein benutzerdefiniertes Trennzeichen angegeben ist
+        if numbers.startswith("//"):
+            delimiter_line_end = numbers.find("\n")
+            delimiter = numbers[2:delimiter_line_end]  # Extrahiere das Trennzeichen
+            numbers = numbers[delimiter_line_end + 1:]  # Entferne die erste Zeile mit dem Trennzeichen
+        else:
+            delimiter = ','  # Standard-Trennzeichen ist Komma
+
+        # Ersetze alle Vorkommen des Trennzeichens und teile die Eingabe
+        numbers = numbers.replace("\n", delimiter)
+        nums = numbers.split(delimiter)
+        
+        # Filtere alle Zahlen, die größer als 1000 sind
+        nums = [int(num) for num in nums if int(num) <= 1000]
+        
+        # Prüfe auf negative Zahlen
+        negatives = [num for num in nums if num < 0]
+        
+        if negatives:
+            # Wenn negative Zahlen vorhanden sind, werfe eine Ausnahme
+            raise ValueError(f"Negatives not allowed: {', '.join(map(str, negatives))}")
+        
+        # Berechne die Summe der Zahlen, die <= 1000 sind
+        return sum(nums)
+
+class TestStringCalculator(unittest.TestCase):
+    def setUp(self):
+        self.calculator = StringCalculator()
+
+    def test_empty_string(self):
+        self.assertEqual(self.calculator.add(""), 0)
+    
+    def test_single_number(self):
+        self.assertEqual(self.calculator.add("1"), 1)
+    
+    def test_two_numbers(self):
+        self.assertEqual(self.calculator.add("1,2"), 3)
+    
+    def test_multiple_numbers(self):
+        self.assertEqual(self.calculator.add("1,2,3,4,5"), 15)
+    
+    def test_numbers_with_newline(self):
+        self.assertEqual(self.calculator.add("1\n2,3"), 6)
+    
+    def test_numbers_with_multiple_newlines(self):
+        self.assertEqual(self.calculator.add("1\n2\n3\n4\n5"), 15)
+    
+    def test_negative_number(self):
+        with self.assertRaises(ValueError) as context:
+            self.calculator.add("1,-2,3")
+        self.assertEqual(str(context.exception), "Negatives not allowed: -2")
+    
+    def test_multiple_negative_numbers(self):
+        with self.assertRaises(ValueError) as context:
+            self.calculator.add("1,-2,-3,4")
+        self.assertEqual(str(context.exception), "Negatives not allowed: -2, -3")
+    
+    def test_custom_delimiter(self):
+        self.assertEqual(self.calculator.add("//;\n1;2"), 3)
+    
+    def test_custom_delimiter_with_newline(self):
+        self.assertEqual(self.calculator.add("//;\n1;2\n3"), 6)
+    
+    def test_custom_delimiter_with_multiple_numbers(self):
+        self.assertEqual(self.calculator.add("//|\n1|2|3|4"), 10)
+    
+    def test_numbers_greater_than_1000(self):
+        self.assertEqual(self.calculator.add("2,1001"), 2)
+    
+    def test_numbers_greater_than_1000_with_custom_delimiter(self):
+        self.assertEqual(self.calculator.add("//;\n2;1001"), 2)
+    
+
+if __name__ == "__main__":
+    unittest.main()
diff --git a/BerishaAlma_2/your_calculator.py b/BerishaAlma_2/your_calculator.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391