diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -11,28 +11,25 @@
 import Data.DateTime
 import qualified Data.ByteString.Char8 as B
 import Control.Lens
-import Text.Regex
 import Text.Regex.Posix
 import qualified Data.Text as T
 import System.Environment
-import Web.Twitter.Conduit
-import Web.Twitter.Conduit.Types
+import Web.Twitter.Conduit ( call , update , inReplyToStatusId , StreamingAPI ( SStatus ) ) 
 import Web.Twitter.Conduit.Stream
-import Web.Twitter.Types
+import Web.Twitter.Conduit.Monad
+import Web.Twitter.Types ( statusId , statusText , statusUser , userScreenName )
 import Web.Authenticate.OAuth
 import Control.Monad.Logger
 import Control.Monad
 import Control.Monad.IO.Class ( liftIO )
-import Control.Concurrent
-import Database.Persist
-import Database.Persist.Sqlite
+import Database.Persist ( insert_ , selectList , SelectOpt ( Desc ) , Entity ( Entity ) )
+import Database.Persist.Sqlite ( runSqlite , runMigration )
 import Database.Persist.TH
 
 share [ mkPersist sqlSettings , mkMigrate "migrateAll" ] [persistLowerCase|
 Memo
     memo T.Text
     time DateTime default=CURRENT_TIME
-    UniqueMemo memo
 |]
 
 dbName = "memo.sqlite3"
@@ -59,24 +56,27 @@
   return $ setCredential tokens' credential' def
 
 pingPongImpl ( SStatus status ) = do
-  case ( T.unpack ( Web.Twitter.Types.statusText status ) =~ ( "@minamiyama1994_ " :: String ) ) :: ( String , String , String ) of
+  case ( T.unpack ( statusText status ) =~ ( "@minamiyama1994_ " :: String ) ) :: ( String , String , String ) of
     ( "" , _ , "ping" ) -> do
-      call $ ( Web.Twitter.Conduit.update $ T.pack $ "@" ++ ( T.unpack $ Web.Twitter.Types.userScreenName $ Web.Twitter.Types.statusUser status ) ++ " pong" ) & inReplyToStatusId ?~ Web.Twitter.Types.statusId status
+      call $ ( update $ T.pack $ "@" ++ ( T.unpack $ userScreenName $ statusUser status ) ++ " pong" ) & inReplyToStatusId ?~ statusId status
       return ( )
     ( "" , _ , "now" ) -> do
       current <- liftIO getCurrentTime
-      call $ ( Web.Twitter.Conduit.update $ T.pack $ "@" ++ ( T.unpack $ Web.Twitter.Types.userScreenName $ Web.Twitter.Types.statusUser status ) ++ " Now is " ++ show current ) & inReplyToStatusId ?~ Web.Twitter.Types.statusId status
+      call $ ( update $ T.pack $ "@" ++ ( T.unpack $ userScreenName $ statusUser status ) ++ " Now is " ++ show current ) & inReplyToStatusId ?~ statusId status
       return ( )
-    ( "" , _ , 'm' : 'e' : 'm' : 'o' : ' ' : memo ) -> if ( Web.Twitter.Types.userScreenName $ Web.Twitter.Types.statusUser status ) == "minamiyama1994"
+    ( "" , _ , "help" ) -> do
+      call $ ( update $ T.pack $ "@" ++ ( T.unpack $ userScreenName $ statusUser status ) ++ " Please see https://github.com/minamiyama1994/chomado-bot-on-haskell/blob/minamiyama1994/README.md" ) & inReplyToStatusId ?~ statusId status
+      return ( )
+    ( "" , _ , 'm' : 'e' : 'm' : 'o' : ' ' : memo ) -> if ( userScreenName $ statusUser status ) == "minamiyama1994"
       then do
         current <- liftIO getCurrentTime
         liftIO $ runSqlite dbName $ insert_ $ Memo ( T.pack memo ) current
-        call $ Web.Twitter.Conduit.update $ T.pack $ "#南山まさかずメモ " ++ memo
+        call $ update $ T.pack $ "#南山まさかずメモ " ++ memo
         return ( )
       else return ( )
     ( "" , _ , "list memo" ) -> do
       memos <- liftIO $ runSqlite dbName $ selectList [ ] [ Desc MemoTime ]
-      forM_ memos $ \ ( Database.Persist.Sqlite.Entity _ ( Memo memo time ) ) -> call $ Web.Twitter.Conduit.update $ T.pack $ "#南山まさかずメモ " ++ T.unpack memo ++ " at " ++ show time
+      forM_ memos $ \ ( Entity _ ( Memo memo time ) ) -> call $ update $ T.pack $ "#南山まさかずメモ " ++ T.unpack memo ++ " at " ++ show time
     _ -> return ( )
 pingPongImpl _ = return ( )
 
@@ -88,4 +88,7 @@
   runSqlite dbName $ do
     runMigration migrateAll
   info <- twInfo
-  runNoLoggingT . runTW info $ pingPong
+  runNoLoggingT . runTW info $ do
+    current <- liftIO getCurrentTime
+    call $ update $ T.pack $ "南山まさかずbotが起動しました : " ++ show current
+    pingPong
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -12,3 +12,4 @@
  * [reply example](https://twitter.com/minamiyama1994/status/489739070562508801)
  * [response example](https://twitter.com/minamiyama1994_/status/489739074102501376)
 * memo management of @minamiyama1994
+* show help
diff --git a/masakazu-bot.cabal b/masakazu-bot.cabal
--- a/masakazu-bot.cabal
+++ b/masakazu-bot.cabal
@@ -2,7 +2,7 @@
 -- further documentation, see http://haskell.org/cabal/users-guide/
 
 name:                masakazu-bot
-version:             0.1.0.0
+version:             0.2.0.0
 synopsis:            @minamiyama1994_bot on haskell
 -- description:         
 homepage:            https://github.com/minamiyama1994/chomado-bot-on-haskell/tree/minamiyama1994
@@ -20,7 +20,8 @@
   main-is:             Main.hs
   -- other-modules:       
   -- other-extensions:    
-  build-depends:       base >=4.6 && <4.7 , twitter-conduit == 0.0.5.* , transformers == 0.3.* , monad-logger == 0.3.* , authenticate-oauth == 1.5.* , twitter-types == 0.3.* , datetime == 0.2.* , conduit == 1.1.* , text == 0.11.* , regex-posix == 0.95.* , regex-compat == 0.95.* , lens == 4.2.* , bytestring == 0.10.* , persistent-sqlite == 1.3.* , persistent-template == 1.3.* , persistent == 1.3.*
+  build-depends:       base >=4.6 && <4.7 , twitter-conduit == 0.0.5.* , transformers == 0.3.* , monad-logger == 0.3.* , authenticate-oauth == 1.5.* , twitter-types == 0.3.* , datetime == 0.2.* , conduit == 1.1.* , text == 0.11.* , regex-posix == 0.95.* , lens == 4.2.* , bytestring == 0.10.* , persistent-sqlite == 1.3.* , persistent-template == 1.3.* , persistent == 1.3.*
 
   -- hs-source-dirs:      
   default-language:    Haskell2010
+  ghc-options:         -Wall -Wall
