diff --git a/arion.cabal b/arion.cabal
--- a/arion.cabal
+++ b/arion.cabal
@@ -1,5 +1,5 @@
 name:                arion
-version:             0.1.0.3
+version:             0.1.0.4
 synopsis:            Watcher and runner for Hspec
 description:         Watcher and runner for Hspec
 license:             PublicDomain
diff --git a/src/Arion/EventProcessor.hs b/src/Arion/EventProcessor.hs
--- a/src/Arion/EventProcessor.hs
+++ b/src/Arion/EventProcessor.hs
@@ -22,7 +22,7 @@
                                                                Source -> let testFiles = M.lookup filePath sourceToTestFileMap
                                                                          in toCommandCandidates testFiles
                                                                Test -> [filePath]
-                                     in Echo (filePath ++ " changed") : map (RunHaskell sourceFolder) commandCandidates
+                                     in Echo (filePath ++ " changed") : map (CabalCommand . RunHaskell sourceFolder) commandCandidates
         | otherwise = []
 
 toCommandCandidates :: Maybe [TestFile] -> [String]
diff --git a/src/Arion/Types.hs b/src/Arion/Types.hs
--- a/src/Arion/Types.hs
+++ b/src/Arion/Types.hs
@@ -15,11 +15,14 @@
 import Text.Regex.Posix
 import Data.Map (Map)
 
-data Command = RunHaskell { sourceFolder :: String, commandString :: String } | Echo String deriving (Eq)
+data Command = RunHaskell { sourceFolder :: String, commandString :: String } |
+               Echo String |
+               CabalCommand { command :: Command } deriving (Eq)
 
 instance Show Command where
-    show (RunHaskell sourceFolder commandString) = "runhaskell -i" ++ sourceFolder ++ " " ++ commandString
+    show (RunHaskell sourceFolder commandString) = "runhaskell -- -i" ++ sourceFolder ++ " " ++ commandString
     show (Echo stringToEcho) = "echo " ++ stringToEcho
+    show (CabalCommand command) = "cabal exec " ++ show command
 
 type FileContent = String
 
