diff --git a/Exercise.java b/Exercise.java
index 3c092f9..df7ea05 100644
--- a/Exercise.java
+++ b/Exercise.java
@@ -1,6 +1,18 @@
 public class Exercise {
 
   public static void main(String[] args) {
-    // implement exercise here
+    TelephoneBook telephoneBook = new TelephoneBook();
+
+    telephoneBook.addEntry(
+        new TelephoneBook.Person("Hans Maier"),
+        new TelephoneBook.TelephoneNumber("+49 67234 887261"));
+    telephoneBook.addEntry(
+        new TelephoneBook.Person("Peter Mueller"),
+        new TelephoneBook.TelephoneNumber("+49 7529 87612"));
+    telephoneBook.addEntry(
+        new TelephoneBook.Person("Lisa Schmidt"),
+        new TelephoneBook.TelephoneNumber("+49 8762 52081"));
+
+    System.out.println(telephoneBook.getTelephoneNumberByName("Hans Maier"));
   }
 }
diff --git a/TelephoneBook.java b/TelephoneBook.java
new file mode 100644
index 0000000..077090e
--- /dev/null
+++ b/TelephoneBook.java
@@ -0,0 +1,24 @@
+import java.util.HashMap;
+import java.util.Map.Entry;
+
+public class TelephoneBook {
+
+  private HashMap<Person, TelephoneNumber> entries = new HashMap<>();
+
+  public void addEntry(Person person, TelephoneNumber telephoneNumber) {
+    entries.put(person, telephoneNumber);
+  }
+
+  public TelephoneNumber getTelephoneNumberByName(String name) {
+    for (Entry<Person, TelephoneNumber> entry : entries.entrySet()) {
+      if (entry.getKey().name().equals(name)) {
+        return entry.getValue();
+      }
+    }
+    return null;
+  }
+
+  public record Person(String name) {}
+
+  public record TelephoneNumber(String value) {}
+}