```diff
--- a/stats.py
+++ b/stats.py
@@ -1,5 +1,10 @@
 def median(values):
-    values = sorted(values)
-    mid = len(values) // 2
-    return values[mid]
+    if not values:
+        return None
+    
+    values = sorted(values)
+    n = len(values)
+    mid = n // 2
+    
+    if n % 2 == 1:
+        return values[mid]
+    else:
+        return (values[mid - 1] + values[mid]) / 2
```