diff --git a/Distribution/Cab/Commands.hs b/Distribution/Cab/Commands.hs
--- a/Distribution/Cab/Commands.hs
+++ b/Distribution/Cab/Commands.hs
@@ -5,7 +5,6 @@
   , genpaths, check, initSandbox, add, ghci
   ) where
 
-import Control.Applicative ((<$>))
 import Control.Monad (forM_, unless, when, void)
 import Data.Char (toLower)
 import Data.List (intercalate, isPrefixOf)
@@ -41,6 +40,7 @@
             | OptImport String
             | OptStatic
             | OptFuture
+            | OptDebug
             deriving (Eq,Show)
 
 ----------------------------------------------------------------
@@ -223,8 +223,8 @@
 ----------------------------------------------------------------
 
 initSandbox :: FunctionCommand
-initSandbox []     _ _ = void . system $ "cabal sandbox init"
-initSandbox [path] _ _ = void . system $ "cabal sandbox init --sandbox " ++ path
+initSandbox []     _ _ = void . system $ "cabal v1-sandbox init"
+initSandbox [path] _ _ = void . system $ "cabal v1-sandbox init --sandbox " ++ path
 initSandbox _      _ _ = do
     hPutStrLn stderr "Only one argument is allowed"
     exitFailure
@@ -232,7 +232,7 @@
 ----------------------------------------------------------------
 
 add :: FunctionCommand
-add [src] _ _ = void . system $ "cabal sandbox add-source " ++ src
+add [src] _ _ = void . system $ "cabal v1-sandbox add-source " ++ src
 add _     _ _ = do
     hPutStrLn stderr "A source path be specified."
     exitFailure
diff --git a/Distribution/Cab/GenPaths.hs b/Distribution/Cab/GenPaths.hs
--- a/Distribution/Cab/GenPaths.hs
+++ b/Distribution/Cab/GenPaths.hs
@@ -2,7 +2,6 @@
 
 module Distribution.Cab.GenPaths (genPaths) where
 
-import Control.Applicative
 import Control.Exception
 import Control.Monad
 import Data.List (isSuffixOf)
diff --git a/Distribution/Cab/Printer.hs b/Distribution/Cab/Printer.hs
--- a/Distribution/Cab/Printer.hs
+++ b/Distribution/Cab/Printer.hs
@@ -82,7 +82,7 @@
 
 extraInfo :: Bool -> PkgInfo -> IO ()
 extraInfo False _ = return ()
-extraInfo True pkgi = putStr $ " " ++ lcns ++ " \"" ++  auth ++ "\""
+extraInfo True pkgi = putStr $ " " ++ lcns ++ " \"" ++ show auth ++ "\""
   where
     lcns = showLicense (pkgInfoLicense pkgi)
     auth = author pkgi
diff --git a/Distribution/Cab/Sandbox.hs b/Distribution/Cab/Sandbox.hs
--- a/Distribution/Cab/Sandbox.hs
+++ b/Distribution/Cab/Sandbox.hs
@@ -6,7 +6,6 @@
   , getSandboxOpts2
   ) where
 
-import Control.Applicative ((<$>))
 import Control.Exception as E (catch, SomeException, throwIO)
 import Data.Char (isSpace)
 import Data.List (isPrefixOf, tails)
diff --git a/cab.cabal b/cab.cabal
--- a/cab.cabal
+++ b/cab.cabal
@@ -1,5 +1,5 @@
 Name:                   cab
-Version:                0.2.18
+Version:                0.2.19
 Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
 License:                BSD3
diff --git a/src/Commands.hs b/src/Commands.hs
--- a/src/Commands.hs
+++ b/src/Commands.hs
@@ -12,7 +12,7 @@
          command = Sync
        , commandNames = ["sync", "update"]
        , document = "Fetch the latest package index"
-       , routing = RouteCabal ["update"]
+       , routing = RouteCabal ["v1-update"]
        , switches = []
        , manual = Nothing
        }
@@ -20,14 +20,15 @@
          command = Install
        , commandNames = ["install"]
        , document = "Install packages"
-       , routing = RouteCabal ["install"]
+       , routing = RouteCabal ["v1-install"]
        , switches = [(SwNoharm, Solo "--dry-run -v")
                     ,(SwFlag, WithEqArg "--flags")
                     ,(SwTest, Solo "--enable-tests")
                     ,(SwBench, Solo "--enable-benchmarks")
                     ,(SwDepsOnly, Solo "--only-dependencies")
                     ,(SwLibProfile, Solo "--enable-library-profiling --ghc-options=\"-fprof-auto -fprof-cafs\"")
-                    ,(SwExecProfile, Solo "--enable-executable-profiling --ghc-options=\"-fprof-auto -fprof-cafs\"")
+                    ,(SwExecProfile, Solo "--enable-profiling --ghc-options=\"-fprof-auto -fprof-cafs\"")
+                    ,(SwDebug, Solo "--ghc-options=\"-g\"")
                     ,(SwJobs, WithEqArg "--jobs")
                     ,(SwStatic, Solo "--disable-shared")
                     ]
@@ -58,12 +59,13 @@
          command = Configure
        , commandNames = ["configure", "conf"]
        , document = "Configure a cabal package"
-       , routing = RouteCabal ["configure"]
+       , routing = RouteCabal ["v1-configure"]
        , switches = [(SwFlag, WithEqArg "--flags")
                     ,(SwTest, Solo "--enable-tests")
                     ,(SwBench, Solo "--enable-benchmarks")
                     ,(SwLibProfile, Solo "--enable-library-profiling --ghc-options=\"-fprof-auto -fprof-cafs\"")
-                    ,(SwExecProfile, Solo "--enable-executable-profiling --ghc-options=\"-fprof-auto -fprof-cafs\"")
+                    ,(SwExecProfile, Solo "--enable-profiling --ghc-options=\"-fprof-auto -fprof-cafs\"")
+                    ,(SwDebug, Solo "--ghc-options=\"-g\"")
                     ,(SwStatic, Solo "--disable-shared")
                     ]
        , manual = Nothing
@@ -72,7 +74,7 @@
          command = Build
        , commandNames = ["build"]
        , document = "Build a cabal package"
-       , routing = RouteCabal ["build"]
+       , routing = RouteCabal ["v1-build"]
        , switches = [(SwJobs, WithEqArg "--jobs")]
        , manual = Nothing
        }
@@ -80,7 +82,7 @@
          command = Clean
        , commandNames = ["clean"]
        , document = "Clean up a build directory"
-       , routing = RouteCabal ["clean"]
+       , routing = RouteCabal ["v1-clean"]
        , switches = []
        , manual = Nothing
        }
@@ -98,7 +100,7 @@
          command = Info
        , commandNames = ["info"]
        , document = "Display information of a package"
-       , routing = RouteCabal ["info"]
+       , routing = RouteCabal ["v1-info"]
        , switches = []
        , manual = Just "<package> [<ver>]"
        }
@@ -106,7 +108,7 @@
          command = Sdist
        , commandNames = ["sdist", "pack"]
        , document = "Make tar.gz for source distribution"
-       , routing = RouteCabal ["sdist"]
+       , routing = RouteCabal ["v1-sdist"]
        , switches = []
        , manual = Nothing
        }
@@ -114,7 +116,7 @@
          command = Upload
        , commandNames = ["upload", "up"]
        , document = "Uploading tar.gz to HackageDB"
-       , routing = RouteCabal ["upload"]
+       , routing = RouteCabal ["upload", "--publish"]
        , switches = [(SwNoharm, Solo "-c")]
        , manual = Nothing
        }
@@ -184,7 +186,7 @@
          command = Test
        , commandNames = ["test"]
        , document = "Run tests"
-       , routing = RouteCabal ["test"]
+       , routing = RouteCabal ["v1-test"]
        , switches = []
        , manual = Just "[testsuite]"
        }
@@ -192,7 +194,7 @@
          command = Bench
        , commandNames = ["bench"]
        , document = "Run benchmarks"
-       , routing = RouteCabal ["bench"]
+       , routing = RouteCabal ["v1-bench"]
        , switches = []
        , manual = Nothing
        }
@@ -200,7 +202,7 @@
          command = Doc
        , commandNames = ["doc", "haddock", "man"]
        , document = "Generate manuals"
-       , routing = RouteCabal ["haddock", "--hyperlink-source"]
+       , routing = RouteCabal ["v1-haddock", "--hyperlink-source"]
        , switches = []
        , manual = Nothing
        }
diff --git a/src/Options.hs b/src/Options.hs
--- a/src/Options.hs
+++ b/src/Options.hs
@@ -39,6 +39,9 @@
   , Option ['e'] ["exec-prof"]
       (NoArg OptExecProfile)
       "Enable library profiling"
+  , Option ['g'] ["debug"]
+      (NoArg OptDebug)
+      "Enable debug trace"
   , Option ['j'] ["jobs"]
       (ReqArg OptJobs "<jobs>")
       "Run N jobs"
@@ -57,4 +60,4 @@
   ]
 
 optionDB :: OptionDB
-optionDB = zip [SwNoharm,SwRecursive,SwAll,SwInfo,SwFlag,SwTest,SwBench,SwDepsOnly,SwLibProfile,SwExecProfile,SwJobs,SwImport,SwStatic,SwFuture] getOptDB
+optionDB = zip [SwNoharm,SwRecursive,SwAll,SwInfo,SwFlag,SwTest,SwBench,SwDepsOnly,SwLibProfile,SwExecProfile,SwDebug,SwJobs,SwImport,SwStatic,SwFuture] getOptDB
diff --git a/src/Run.hs b/src/Run.hs
--- a/src/Run.hs
+++ b/src/Run.hs
@@ -25,6 +25,7 @@
 toSwitch OptDepsOnly    = SwDepsOnly
 toSwitch OptLibProfile  = SwLibProfile
 toSwitch OptExecProfile = SwExecProfile
+toSwitch OptDebug       = SwDebug
 toSwitch (OptJobs _)    = SwJobs
 toSwitch (OptImport _)  = SwImport
 toSwitch OptStatic      = SwStatic
diff --git a/src/Types.hs b/src/Types.hs
--- a/src/Types.hs
+++ b/src/Types.hs
@@ -19,6 +19,7 @@
             | SwDepsOnly
             | SwLibProfile
             | SwExecProfile
+            | SwDebug
             | SwJobs
             | SwImport
             | SwStatic
