diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -27,4 +27,10 @@
 ## 0.1.2.0  -- 2015-10-20
 
 * [m] implement supporting of darcs
-* [+] check executability of vcs 
+* [+] check executability of vcs
+
+## 0.1.2.1  -- 2015-10-21
+
+* [m] re-design status symbol
+* [m] reset prompt format and color
+* [-] turn-off the supporting of darcs
diff --git a/Hish.cabal b/Hish.cabal
--- a/Hish.cabal
+++ b/Hish.cabal
@@ -1,5 +1,5 @@
 Name:                   Hish
-Version:                0.1.2.0
+Version:                0.1.2.1
 Author:                 Yun-Yan Chi
 Maintainer:             jaiyalas@gmail.com
 License:                BSD3
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
 [![MIT](http://b.repl.ca/v1/license-BSD3-blue.png)](https://en.wikipedia.org/wiki/BSD_licenses)
 [![Haskell](http://b.repl.ca/v1/language-haskell-orange.png)](http://haskell.org)
 
-Generating a beautiful and useful prompt.
+Generating a beautiful and useful prompt. (**Warning**: *darcs* is supported but *turned-off* by default.)
 
 ## Features
 
@@ -18,21 +18,23 @@
   + will be shortened if too long
 + [X] support version control system
    + git (fully supported)
-   + darcs (darcs has no branch; tracking status is not supported)
+   + <del>darcs (darcs has no branch; tracking status is not supported)</del>
 + [X] show **branch name (git only)**
-+ [X] show **index/tree status (git and darcs)**
-  + *\** - dirty
-  + *?* - clean *but still having untracked files*
-  + *#* - clean
++ [X] show **index/tree status (git and <del>darcs</del>)**
+  + *\ * - clean
+  + *?* - clean  *but still having untracked files*
+  + *#** - dirty non-empty index
+  + *\** - dirty with empty index
 + [X] show **tracking status (git only)**
   + *+n* - branch is *ahead* by n
   + *-n* - branch is *behind* by n
 
 ### Todo
 
++ [ ] use *config file*
++ [ ] re-design the darcs supporting system
 + [ ] implement *color theme*
 + [ ] show *SSH* info
-+ [ ] use *config file*
 + [ ] load *environment variables*
 
 ## Installation
diff --git a/src/Hish/VCS.hs b/src/Hish/VCS.hs
--- a/src/Hish/VCS.hs
+++ b/src/Hish/VCS.hs
@@ -22,9 +22,10 @@
    vcsBehind :: a -> String -> Maybe String
    -- | determining the cleanliness of working-tree
    --
-   --       * __#__ - /clean/ working directory
-   --       * __?__ - /clean/ but existing untracked file
-   --       * __*__ - /dirty/
+   --       * __' '__ - /clean/
+   --       * __'?'__ - /clean/ (exists untracked file)
+   --       * __'#'__ - /dirty/ (non-empty index; ready for commit..)
+   --       * __'*'__ - /dirty/ (empty index)
    vcsCleanliness :: a -> String -> Maybe String
    vcsCurrentBranch :: a -> String -> Maybe String
    -- | get command for revealing branch
@@ -55,11 +56,19 @@
          behind -> Just $ S.replace "behind " "" behind
    vcsCleanliness _ s = let body = tail $ DL.lines s in
       case body of
-         [] -> Just "#"
-         _  -> let (index,tree) = unzip $ map ((\ (a:b:_)->(a,b)).take 2) body in
-            if ("" == (filter (/='?') tree))
+         [] -> Just ""
+         _  -> let (index,tree) = unzip $ map ((\ (a:b:_)->(a,b)).take 2) body in case (filter (/=' ') index, filter (/=' ')tree) of
+            -- index == tree == "   "
+            ("","") -> Just ""
+            -- every changes are in index
+            (_,"") -> Just "#"
+            -- none change is inindex
+            ("",_) -> Just "*"
+            (idx,tre) -> if ("" == (filter (/='?') (idx++tre)))
+               -- left only untracked file
                then Just "?"
-               else Just "*"
+               -- mix situiation
+               else Just "#"
    vcsCurrentBranch _ = Just
       . drop 2
       . head
diff --git a/src/hish.hs b/src/hish.hs
--- a/src/hish.hs
+++ b/src/hish.hs
@@ -6,25 +6,18 @@
 -- for manipulating ANSI code
 import Data.Monoid (mempty,(<>))
 
-{- +++++++++++++++++++++++++++++++
--- Is this helpful?
-import System.Environment (getEnv    -- String -> IO String
-                          ,setEnv    -- String -> String -> IO ()
-                          ,lookupEnv -- String -> IO (Maybe String)
-                          )
-+++++++++++++++++++++++++++++++ -}
-
 _prompt_symbol = ">"
 _pwdWidth = 60
 
 main :: IO ()
 main = do
    printUserInfo
+   putStr " "
    printWorkingTree
    putStr " "
    --
    safePrintVCS VCS.Git
-   safePrintVCS VCS.Darcs
+   -- safePrintVCS VCS.Darcs
    --
    putStr $ applyANSI (_prompt_symbol++" ") $ mempty
 
@@ -33,12 +26,12 @@
 printUserInfo = do
    _ts <- HS.time "%H:%M"
    putStr $ applyANSI (_ts) $ fgBlackL <> mempty
-   putStr $ applyANSI "(" $ fgBlackL <> mempty
-   _un <- HS.uid
-   case _un of
-      Nothing -> return ()
-      Just un -> putStr $ applyANSI (un) $ mempty
-   putStr $ applyANSI ")" $ fgBlackL <> mempty
+   -- putStr $ applyANSI "(" $ fgBlackL <> mempty
+   -- _un <- HS.uid
+   -- case _un of
+   --    Nothing -> return ()
+   --    Just un -> putStr $ applyANSI (un) $ mempty
+   -- putStr $ applyANSI ")" $ fgBlackL <> mempty
    -- _hn <- HS.hostname
    -- case _hn of
    --    Nothing -> return ()
@@ -55,23 +48,25 @@
 printVCSInfo vcs = do
    _br <- HS.branch vcs
    (_st, _ah, _bh) <- HS.status vcs
-   putStr $ show vcs
-   putStr "["
+   --putStr $ show vcs
+   -- putStr "["
    case _br of
       Just br -> putStr $ applyANSI br $ fgWhiteL <> ESC_Bold <> mempty
       Nothing -> return ()
    case _st of
-      Just "*" -> putStr $ applyANSI "*" $ ESC_Bold <> fgRed <> mempty
-      Just "?" -> putStr $ applyANSI "?" $ ESC_Bold <> fgYellow <> mempty
-      Just "#" -> putStr $ applyANSI "#" $ ESC_Bold <> fgGreen <> mempty
+      Just "*" -> putStr $ applyANSI "*" $ ESC_Bold <> fgYellowL <> mempty
+      Just "?" -> putStr $ applyANSI "?" $ ESC_Bold <> fgMagentaL <> mempty
+      Just "#" -> putStr $ applyANSI "#" $ ESC_Bold <> fgBlueL <> mempty
       _ -> putStr ""
    case _ah of
       Nothing -> return ()
-      Just ah -> putStr $ applyANSI (if ah=="" then "" else "+"++ah) $ fgRedL <> mempty
+      Just ah -> putStr $ applyANSI (if ah=="" then "" else "+"++ah) $
+         fgRedL <> mempty
    case _bh of
       Nothing -> return ()
-      Just bh -> putStr $ applyANSI (if bh=="" then "" else "-"++bh) $ fgGreenL <> mempty
-   putStr "]"
+      Just bh -> putStr $ applyANSI (if bh=="" then "" else "-"++bh) $
+         fgGreenL <> mempty
+   -- putStr "]"
 --
 safePrintVCS :: (Show a, VCS.VCS a) => a -> IO ()
 safePrintVCS vcs = do
