diff --git a/cabalg.cabal b/cabalg.cabal
--- a/cabalg.cabal
+++ b/cabalg.cabal
@@ -1,5 +1,5 @@
 name: cabalg
-version: 0.2.0
+version: 0.2.1
 synopsis: alias for cabal install from given git repo
 license: MIT
 license-file: LICENSE
@@ -46,9 +46,9 @@
     , process >= 1.2
     , directory >= 1.2
     , filepath >= 1.3
-    , temporary >= 1.1.2.4
     , filemanip >= 0.3.5.2
     , split >= 0.2.2
+    , random >= 1.0.1.1
 
   default-language: Haskell2010
 
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -1,13 +1,15 @@
 {-# LANGUAGE OverloadedStrings, ScopedTypeVariables #-}
 import           Control.Applicative
 import           Control.Arrow        (second)
+import           Control.Monad
 import           Data.List.Split      (splitOn)
 import           Data.Maybe           (catMaybes, fromMaybe, listToMaybe)
-import           System.Directory     (getCurrentDirectory)
+import           System.Directory     (createDirectory, getCurrentDirectory)
 import           System.Environment
+import           System.FilePath
 import           System.FilePath.Find
-import           System.IO.Temp       (createTempDirectory)
 import           System.Process       (callProcess)
+import           System.Random
 
 import           Git
 
@@ -28,14 +30,18 @@
 
 fetch :: String -> IO (Maybe FilePath)
 fetch urlAndMaybeRevision = do
-  current_dir <- getCurrentDirectory
-  let maybeRevision = listToMaybe . tail . splitOn "@" $ urlAndMaybeRevision
-      url = head $ splitOn "@" urlAndMaybeRevision
-  cabal_dir <- createTempDirectory current_dir ("cabalg_" ++ last (splitOn "/" url) ++ "X")
+  currentDir <- getCurrentDirectory
+  cabalDir <- (currentDir </>) . addName <$> genstr
+  createDirectory cabalDir
   case maybeRevision of
-    Just revision -> cloneRevision url revision cabal_dir
-    Nothing -> clone url cabal_dir
-  listToMaybe <$> find always (extension ==? ".cabal") cabal_dir
+    Just revision -> cloneRevision url revision cabalDir
+    Nothing -> clone url cabalDir
+  listToMaybe <$> find always (extension ==? ".cabal") cabalDir
+    where
+      maybeRevision = listToMaybe . tail . splitOn "@" $ urlAndMaybeRevision
+      url = head $ splitOn "@" urlAndMaybeRevision
+      genstr = liftM (take 10 . randomRs ('a','z')) newStdGen
+      addName = (("cabalg_" ++ last (splitOn "/" url)) ++) . ('_' :)
 
 cabalInstall :: [String] -> Maybe String -> IO ()
 cabalInstall cabalFiles args = callProcess "cabal" $ "install" : cabalFiles ++ words (fromMaybe "" args)
