diff --git a/README.md b/README.md
index 8634b1c..c935f2b 100644
--- a/README.md
+++ b/README.md
@@ -2404,7 +2404,70 @@ def reverse_string(string):
What empty return
returns?
-
+
+
+Short answer is: It returns a None object.
+
+We could go a bit deeper and explain the difference between
+
+```
+def a ():
+ return
+
+>>> None
+
+```
+
+And
+
+```
+def a ():
+ pass
+
+>>> None
+```
+Or we could be asked this as a following question, since they both give the same result.
+
+We could use the dis module to see what's going on:
+
+```
+ 2 0 LOAD_CONST 0 (", line 2>)
+ 2 LOAD_CONST 1 ('a')
+ 4 MAKE_FUNCTION 0
+ 6 STORE_NAME 0 (a)
+
+ 5 8 LOAD_CONST 2 (", line 5>)
+ 10 LOAD_CONST 3 ('b')
+ 12 MAKE_FUNCTION 0
+ 14 STORE_NAME 1 (b)
+ 16 LOAD_CONST 4 (None)
+ 18 RETURN_VALUE
+
+Disassembly of ", line 2>:
+ 3 0 LOAD_CONST 0 (None)
+ 2 RETURN_VALUE
+
+Disassembly of ", line 5>:
+ 6 0 LOAD_CONST 0 (None)
+ 2 RETURN_VALUE
+```
+
+An empty return
is exactly the same as return None
and functions without any return
+will always return None regardless of the operations, therefore
+
+
+
+
+```
+def sum(a, b):
+ global C
+ c = a + b
+
+>>> None
+
+```
+
+
##### Time Complexity