diff --git a/math_logic_dp/README.md b/math_logic_dp/README.md
index fe314fa..0f841ff 100644
--- a/math_logic_dp/README.md
+++ b/math_logic_dp/README.md
@@ -2,6 +2,23 @@
+### dynamic programming
+
+
+
+* take a recursive algorithm and cache overlapping problems (repeated calls).
+* the runtime is given by the number of calls.
+* **top-down**: how can we divide the problem into sub-problems?
+ * top-down dynamic programming is called **memoization**.
+* **bottom-up**: solve for a simple case, then figure out for more elements.
+
+
+
+---
+
+### examples
+
+
```python
python3 fibonacci.py