diff --git a/OOP2024_AMP.sln b/OOP2024_AMP.sln
index b6a997a629e6dd469b5f340564339e6e1b4027e3..3e60b6311b4b6ae344f927b6bb15ca26af7e943d 100644
--- a/OOP2024_AMP.sln
+++ b/OOP2024_AMP.sln
@@ -11,6 +11,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "P02 Methoden", "P02 Methode
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "P03 Klassen", "P03 Klassen\P03 Klassen.csproj", "{E0E52007-EEDB-4075-9371-909D9E435F61}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "P04 Brueche", "..\P04 Brueche\P04 Brueche.csproj", "{09DFCE5C-70A6-42AA-88E8-AB643EE5E790}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -33,6 +35,10 @@ Global
 		{E0E52007-EEDB-4075-9371-909D9E435F61}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{E0E52007-EEDB-4075-9371-909D9E435F61}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{E0E52007-EEDB-4075-9371-909D9E435F61}.Release|Any CPU.Build.0 = Release|Any CPU
+		{09DFCE5C-70A6-42AA-88E8-AB643EE5E790}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{09DFCE5C-70A6-42AA-88E8-AB643EE5E790}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{09DFCE5C-70A6-42AA-88E8-AB643EE5E790}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{09DFCE5C-70A6-42AA-88E8-AB643EE5E790}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/P03 Klassen/Buergeramt.cs b/P03 Klassen/Buergeramt.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ecef68e43ba95df08fe7827ecde8473e8d841f2f
--- /dev/null
+++ b/P03 Klassen/Buergeramt.cs	
@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace P03_Klassen
+{
+    class Buergeramt
+    {
+        int maxPersonalausweise;
+        int naechstePersoPos = 0;  // nicht-static, da unterschiedliche Städte
+        Perso[] persos;
+
+        public Buergeramt(int maxPersos ) 
+        { 
+            maxPersonalausweise = maxPersos;
+            persos = new Perso[ maxPersonalausweise ];
+        }
+        public Perso NeuerPersonalausweis(string name, int alter)
+        {
+            Perso neuerPerso = new Perso(name, alter);
+            persos[naechstePersoPos] = neuerPerso;
+            naechstePersoPos++;
+            // Test, ob Feldüberlauf ...
+            return neuerPerso;
+        }
+        public Perso this[int index] 
+        {
+            get
+            {
+                if (index >= 0 && index < naechstePersoPos)
+                    return persos[index];
+                else
+                    throw new IndexOutOfRangeException("Ungültiger Index");
+            }
+            // ggf. auch set oder private set
+        }
+        // public string this[int index] geht nicht, da
+        // der Returntyp nicht beim Überladen berücksichtigt wird
+        
+        public Perso this[string name]
+        {
+            get
+            {
+                for (int index=0;index < maxPersonalausweise; index++ )
+                    if (persos[index]?.Name == name)
+                        return persos[index];
+                return null;
+            }
+        }
+    }
+}
diff --git a/P03 Klassen/Perso.cs b/P03 Klassen/Perso.cs
index de14b385f5b3dab55f9018f74c363b523a7d26d8..109133fd3d2e4b0e0ea2de2858613bdec23a9991 100644
--- a/P03 Klassen/Perso.cs	
+++ b/P03 Klassen/Perso.cs	
@@ -19,7 +19,7 @@ namespace P03_Klassen
                 naechstePersId = value;
             }
         }
-        readonly string Name;
+        public string Name { get; private set; }
         public int Alter
         {
             get => xyz01233;
diff --git a/P03 Klassen/Program.cs b/P03 Klassen/Program.cs
index a30bdb703689a971b7deb071cd718fccb6676398..741f6434fb9751246c4e84cce48b36abb9b8611d 100644
--- a/P03 Klassen/Program.cs	
+++ b/P03 Klassen/Program.cs	
@@ -13,7 +13,12 @@
             anton.Ausgabe();
             //anton.NaechstePersId = 2000;
             Perso berta = new Perso("Berta", 25);
-            
+
+            Buergeramt Nbg = new Buergeramt(10);
+            Nbg.NeuerPersonalausweis("Meier", 15);
+            Nbg.NeuerPersonalausweis("Müller", 27);
+            Console.WriteLine(Nbg["Meier"]);
+            Console.WriteLine(Nbg[1]);
         }
     }
 }