diff --git a/Nemesis b/Nemesis
--- a/Nemesis
+++ b/Nemesis
@@ -2,8 +2,6 @@
 import Air.Env ((-))
 import Prelude hiding ((-))
 
-import System.Nemesis.Titan
-
 main = run nemesis
 
 nemesis = do
@@ -76,7 +74,3 @@
   desc "test"
   task "test" - do
     sh "runghc test/N1.hs"
-    
-  titan "Main.hs"
-  
-  task "t:Main/titan" - return ()
diff --git a/nemesis.cabal b/nemesis.cabal
--- a/nemesis.cabal
+++ b/nemesis.cabal
@@ -1,5 +1,5 @@
 Name:                 nemesis
-Version:              2014.5.19
+Version:              2015.5.4
 Build-type:           Simple
 Synopsis:             a task management tool for Haskell
 Description:          Organize common shell tasks into a meaningful tree like structure with dependency tracking
@@ -8,7 +8,6 @@
 License-file:         LICENSE
 Author:               Jinjing Wang
 Maintainer:           Jinjing Wang <nfjinjing@gmail.com>
-Build-Depends:        base
 Cabal-version:        >= 1.6
 category:             Web
 homepage:             http://github.com/nfjinjing/nemesis
diff --git a/src/System/Nemesis/DSL.hs b/src/System/Nemesis/DSL.hs
--- a/src/System/Nemesis/DSL.hs
+++ b/src/System/Nemesis/DSL.hs
@@ -20,7 +20,7 @@
   put n {current_desc = Just s}
 
 task :: String -> IO () -> Unit
-task s action = 
+task s action =
   if s.has ':'
     then
       let h = s.takeWhile (/= ':')
@@ -38,27 +38,29 @@
   push name
   unit
   pop
-  
+
   where
+    push :: String -> Unit
     push s = do
       n <- get
       let current_namespace' = s : n.current_namespace
       put n {current_namespace = current_namespace'}
-    
+
+    pop :: Unit
     pop = do
       n <- get
       let current_namespace' = n.current_namespace.tail
       put n {current_namespace = current_namespace'}
-      
+
 sh :: String -> IO ()
 sh s = do
   status <- system s
-  case status of 
+  case status of
     ExitSuccess -> return ()
     ExitFailure code -> do
       puts - printf "%s failed with status code: %s" s (show code)
       exitWith status
-      
+
 
 clean :: [String] -> Unit
 clean xs = do
