diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..13566b81b018ad684f3a35fee301741b2734c8f4
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/informatik_3_abgaben_beachboys.iml b/.idea/informatik_3_abgaben_beachboys.iml
new file mode 100644
index 0000000000000000000000000000000000000000..d6ebd4805981b8400db3e3291c74a743fef9a824
--- /dev/null
+++ b/.idea/informatik_3_abgaben_beachboys.iml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0319d5d58f6cfe22482d3f3d8253db50fd199da3
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" project-jdk-name="11" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000000000000000000000000000000000000..217328a4de40043461fc5f53cff6138e43bff3c1
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/informatik_3_abgaben_beachboys.iml" filepath="$PROJECT_DIR$/.idea/informatik_3_abgaben_beachboys.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..35eb1ddfbbc029bcab630581847471d7f238ec53
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/ErzeugerVerbraucher/.idea/.gitignore b/ErzeugerVerbraucher/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..13566b81b018ad684f3a35fee301741b2734c8f4
--- /dev/null
+++ b/ErzeugerVerbraucher/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/ErzeugerVerbraucher/.idea/misc.xml b/ErzeugerVerbraucher/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d15472f6bd508063a8bf88f336fb99213cc81d0c
--- /dev/null
+++ b/ErzeugerVerbraucher/.idea/misc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="openjdk-18" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/ErzeugerVerbraucher/.idea/modules.xml b/ErzeugerVerbraucher/.idea/modules.xml
new file mode 100644
index 0000000000000000000000000000000000000000..beae239f03b5511cf12a5d143ae38ad934795e22
--- /dev/null
+++ b/ErzeugerVerbraucher/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/Aufgabe4.iml" filepath="$PROJECT_DIR$/Aufgabe4.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/ErzeugerVerbraucher/Aufgabe4.iml b/ErzeugerVerbraucher/Aufgabe4.iml
new file mode 100644
index 0000000000000000000000000000000000000000..c90834f2d607afe55e6104d8aa2cdfffb713f688
--- /dev/null
+++ b/ErzeugerVerbraucher/Aufgabe4.iml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/ErzeugerVerbraucher/out/production/Aufgabe4/Main.class b/ErzeugerVerbraucher/out/production/Aufgabe4/Main.class
new file mode 100644
index 0000000000000000000000000000000000000000..e92adf7d8f256d86b5d8e1080fd1e655c523f9d9
Binary files /dev/null and b/ErzeugerVerbraucher/out/production/Aufgabe4/Main.class differ
diff --git a/ErzeugerVerbraucher/src/Buffer.java b/ErzeugerVerbraucher/src/Buffer.java
new file mode 100644
index 0000000000000000000000000000000000000000..dd987cff74f62a46b4cab8015ee8a8c099ccf47b
--- /dev/null
+++ b/ErzeugerVerbraucher/src/Buffer.java
@@ -0,0 +1,37 @@
+import java.util.List;
+import java.util.concurrent.Semaphore;
+
+public class Buffer<T>{
+    public int size;
+    public Semaphore mutex;
+    List<T> items = new ArrayList<T>();
+
+
+    public Buffer(int size ) {
+        this.size= size;
+
+    }
+
+    public void push(Buffer<?> e) throws InterruptedException {
+        mutex.acquire();
+        items.add(T.e);
+        mutex.release();
+
+
+
+    }
+
+    public void pop(){
+
+    }
+
+    public boolean full(){
+        assert items.size()>=0 : "Buffer cannot be less than 0 in size";
+        assert
+
+        }
+
+    public boolean empty(){
+
+    }
+}
diff --git a/ErzeugerVerbraucher/src/Car.java b/ErzeugerVerbraucher/src/Car.java
new file mode 100644
index 0000000000000000000000000000000000000000..902ad6357091471d443228aee44f98efeeeb7186
--- /dev/null
+++ b/ErzeugerVerbraucher/src/Car.java
@@ -0,0 +1,4 @@
+public class Car {
+
+
+}
diff --git a/ErzeugerVerbraucher/src/Consumer.java b/ErzeugerVerbraucher/src/Consumer.java
new file mode 100644
index 0000000000000000000000000000000000000000..d57c4739363c3f20a64451355d251097eee8fd78
--- /dev/null
+++ b/ErzeugerVerbraucher/src/Consumer.java
@@ -0,0 +1,2 @@
+public class Consumer {
+}
diff --git a/ErzeugerVerbraucher/src/Main.java b/ErzeugerVerbraucher/src/Main.java
new file mode 100644
index 0000000000000000000000000000000000000000..3e59c38fbd57497a72e78859efacc67ac75869da
--- /dev/null
+++ b/ErzeugerVerbraucher/src/Main.java
@@ -0,0 +1,5 @@
+public class Main {
+    public static void main(String[] args) {
+        System.out.println("Hello world!");
+    }
+}
\ No newline at end of file
diff --git a/ErzeugerVerbraucher/src/Producer.java b/ErzeugerVerbraucher/src/Producer.java
new file mode 100644
index 0000000000000000000000000000000000000000..e715fa6177d3b553a51a46a36fdfa65e5113fbba
--- /dev/null
+++ b/ErzeugerVerbraucher/src/Producer.java
@@ -0,0 +1,2 @@
+public class Producer {
+}