diff --git a/irlc/lectures/lec02/lecture_02_optimal_inventory.py b/irlc/lectures/lec02/lecture_02_optimal_inventory.py
new file mode 100644
index 0000000000000000000000000000000000000000..48eb5e1320a987ac14f60aab9cf427c080709cbd
--- /dev/null
+++ b/irlc/lectures/lec02/lecture_02_optimal_inventory.py
@@ -0,0 +1,15 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc import Agent, interactive
+from irlc.lectures.lec01.viz_inventory_environment import VizInventoryEnvironment
+
+if __name__ == "__main__":
+    env = VizInventoryEnvironment(render_mode='human')
+    from irlc.ex02.inventory import InventoryDPModel
+    from irlc.ex02.dp_agent import DynamicalProgrammingAgent
+
+    from irlc import train, interactive
+    agent = DynamicalProgrammingAgent(env, model=InventoryDPModel())
+
+    env, agent = interactive(env, agent)
+    n = 400
+    stats, _ = train(env, agent, max_steps=n, num_episodes=1000, return_trajectory=False, verbose=False)