diff --git a/cabalQuery.cabal b/cabalQuery.cabal
--- a/cabalQuery.cabal
+++ b/cabalQuery.cabal
@@ -1,5 +1,5 @@
 name:                cabalQuery
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            A simple tool to query cabal files.
 description:         Command line access to the cabal package description
                      files.
@@ -42,7 +42,8 @@
 
   build-depends:       base >=4.6 && <4.7,
                        Cabal >= 1.22,
-                       cabal-query,
+                       cabalQuery,
+                       directory,
                        MissingH,
                        containers
 
diff --git a/tools/Main.hs b/tools/Main.hs
--- a/tools/Main.hs
+++ b/tools/Main.hs
@@ -1,5 +1,6 @@
 module Main where
 
+import System.Directory
 import System.Environment
 import System.IO
 
@@ -8,20 +9,31 @@
 import Data.Map (Map)
 import qualified Data.Map as Map
 import Data.String.Utils
+import Data.Version (showVersion)
 import Distribution.Query
 import Distribution.PackageDescription (GenericPackageDescription)
 
+
+import qualified Paths_cabalQuery as CQ
+
 main :: IO ()
 main = do
   args <- getArgs
   eCfg <- parseArgs args
   case eCfg of
     Nothing -> printHelp
-    Just cfg | ["--help"] `isInfixOf` (options cfg) -> printHelp
+    Just cfg | ["--help"] `isInfixOf` (options cfg)    -> printHelp
+             | ["--version"] `isInfixOf` (options cfg) -> printVersion
              | otherwise -> do
       let cmds = map cmdFn $ commands cfg
-      mapM_ (query cmds) (files cfg)
+      case files cfg of
+        []       -> do putStrLn "No .cabal files specified."
+                       printHelp
+        theFiles -> mapM_ (query cmds) theFiles
 
+printVersion :: IO ()
+printVersion = putStrLn ("cabalQuery-"++ showVersion CQ.version)
+
 printHelp :: IO ()
 printHelp = do
   putStrLn "Usage: cabalQuery [command] [cabalfile] [options]"
@@ -83,11 +95,15 @@
 parseArgs args = do
   let eCmds = map toCommand $ filter isCommand args
   case (lefts eCmds, rights eCmds) of
-    ([] , cmds) ->
-      return (Just (Config { files = filter isCabalFile args
-                  , options = filter isOption args
-                  , commands = cmds
-                  }))
+    ([] , cmds) -> do
+      theFiles <- case filter isCabalFile args of
+        [] -> do fs <- getCurrentDirectory >>= getDirectoryContents
+                 return (filter isCabalFile fs)
+        fs -> return fs
+      return (Just (Config { files = theFiles
+                           , options = filter isOption args
+                           , commands = cmds
+                           }))
     (errs, _) -> do
       hPutStrLn stderr "Invalid commands specified:"
       mapM_ (hPrint stderr) errs
