diff --git a/py/malloc.c b/py/malloc.c
index 2f8b5f7..c65d38a 100644
--- a/py/malloc.c
+++ b/py/malloc.c
@@ -5,12 +5,6 @@
 
 static int total_bytes_allocated = 0;
 
-void m_free(void *ptr) {
-    if (ptr != NULL) {
-        free(ptr);
-    }
-}
-
 void *m_malloc(int num_bytes) {
     if (num_bytes == 0) {
         return NULL;
@@ -37,20 +31,26 @@
     return ptr;
 }
 
-void *m_realloc(void *ptr, int num_bytes) {
-    if (num_bytes == 0) {
+void *m_realloc(void *ptr, int old_num_bytes, int new_num_bytes) {
+    if (new_num_bytes == 0) {
         free(ptr);
         return NULL;
     }
-    ptr = realloc(ptr, num_bytes);
+    ptr = realloc(ptr, new_num_bytes);
     if (ptr == NULL) {
-        printf("could not allocate memory, reallocating %d bytes\n", num_bytes);
+        printf("could not allocate memory, reallocating %d bytes\n", new_num_bytes);
         return NULL;
     }
-    total_bytes_allocated += num_bytes;
+    total_bytes_allocated += new_num_bytes;
     return ptr;
 }
 
+void m_free(void *ptr, int num_bytes) {
+    if (ptr != NULL) {
+        free(ptr);
+    }
+}
+
 int m_get_total_bytes_allocated(void) {
     return total_bytes_allocated;
 }
