diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -121,11 +121,12 @@
 
 dispatch database fname ("file":y:z) = do
   fl <- Cm.filelines y
-  mapM_ (dispatch database fname) (map (`Md.splitOn` ' ') fl)
+  cDispatch database fname (map (`Md.splitOn` ' ') fl)
   dispatch database fname z
 
+  
 dispatch database fname ("repl":_) = do
-  repl database fname
+  repl fname database
   
 dispatch database fName ("help":y) = do
   mapM_ putStrLn (map ppTable allArgs)
@@ -137,6 +138,12 @@
   putStrLn ("Did not recognize command: "++x)
   dispatch fName db xs
 
+cDispatch _ _ [] = return ()
+cDispatch db fname (x:y) = do
+  dispatch db fname x
+  nDB <- Qm.fromFile fname
+  cDispatch nDB fname y
+  
 -- | Pretty print a table.
 ppTable :: (String, String) -> String
 ppTable (a,b) = Cm.flt [a," : ",b]
@@ -148,7 +155,9 @@
   (Qm.List _)  -> putStrLn $ "List " ++ (fst x)
 
 -- | Evaluate Quill commands in an interactive Read-eval-print loop.
+repl :: String -> [Qm.Quill] -> IO ()
 repl fname dbase = do
   inp <- Cm.prompt "$ "
-  dispatch fname dbase(Md.splitOn inp ' ')
-  repl fname dbase
+  dispatch dbase fname (Md.splitOn inp ' ')
+  x <- Qm.fromFile fname
+  repl fname x
diff --git a/Tables.cabal b/Tables.cabal
--- a/Tables.cabal
+++ b/Tables.cabal
@@ -10,7 +10,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             0.1.0.1
+version:             0.1.0.2
 
 -- A short (one-line) description of the package.
 synopsis:            A client for Quill databases
