diff --git a/src/bptree.c b/src/bptree.c
index 5a216d5d6b474ec63f6cea8b191fd4bd9fba2f30..ba5977c9e534e9590baa7ad0be94609401923af0 100644
--- a/src/bptree.c
+++ b/src/bptree.c
@@ -154,7 +154,12 @@ static uint64_t split_leaf(BPTreeNode *node, uint64_t key, uint64_t data, BPTree
         IntegerArray_insert_at_index((*right_node)->data, insertion_index, data);
     }
 
-    // TODO : Linked List
+    if (node->children->size == 0) {
+        BPTreeNodeArray_append(node->children, *right_node);
+    } else {
+        BPTreeNodeArray_append((*right_node)->children, node->children->items[0]);
+        node->children->items[0] = *right_node;
+    }
 
     return median_value;
 }
diff --git a/src/main.c b/src/main.c
index b271d5211248afd0dc402bbc98b1758ca0c8fa3e..c8af2786a3d4471039f98d5fb257dddf4e33010d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -50,6 +50,7 @@ void append_record(Directory *directory) {
 
 void search_record(Directory *directory) {
     printf("Enter the phone number that corresponds to the record you are looking for: ");
+    // TODO : crash phone number overflow
     char phone_number[11];
     scanf("%s", phone_number);
     clear_buffer();