diff --git a/consumer.py b/consumer.py
new file mode 100644
index 0000000000000000000000000000000000000000..282725309e064f42a27b9820321c827987c58459
--- /dev/null
+++ b/consumer.py
@@ -0,0 +1,33 @@
+from buffer import Buffer
+import threading
+import random
+import time
+
+
+class Consumer:
+    def __init__(self, buffer_obj):
+        self.buffer = buffer_obj
+
+    def consume(self):
+        while True:
+            time.sleep(random.uniform(0.5, 2.0))  # Random interval between checks
+
+            with self.buffer.condition:
+                while self.buffer.empty():
+                    self.buffer.condition.wait()  # Wait until buffer is not empty
+
+                car = self.buffer.pop()
+                print("Consumer: Car", car.get_car_id(), "parked out")
+
+                if self.buffer.full():
+                    # Buffer was completely full before the withdrawal, wake up all sleeping producers
+                    self.buffer.condition.notify_all()
+
+
+# Example usage:
+buffer = Buffer(size=10)  # Assuming buffer is already initialized with a size of 10
+consumer = Consumer(buffer)
+
+# Create and start the consumer thread
+consumer_thread = threading.Thread(target=consumer.consume)
+consumer_thread.start()