diff --git a/bla.cabal b/bla.cabal
--- a/bla.cabal
+++ b/bla.cabal
@@ -1,5 +1,5 @@
 Name:                 bla
-Version:              2009.10.13
+Version:              2009.10.20
 Build-type:           Simple
 Synopsis:             a stupid cron
 Description:
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,1 +1,4 @@
-init
+2009.10.20
+==========
+
+* trap Ctrl + C
diff --git a/src/bla.hs b/src/bla.hs
--- a/src/bla.hs
+++ b/src/bla.hs
@@ -1,31 +1,32 @@
-import System.Environment
 import Prelude hiding ((-))
 import Control.Monad hiding (join)
 import System
-import System.Posix (sleep)
 import Data.Maybe
 import Control.Applicative
 import Data.List
 import Control.Arrow ((>>>))
+import System.Posix
 
 main :: IO ()
-main = forever - do
-  env <- getEnvironment
-
-  let i = lookup "i" >>> fromMaybe "1" >>> read - env
+main = do
+  installHandler sigINT Default Nothing
 
   cmd <- intercalate " " <$> getArgs
   
-  br
-  puts - "* " ++ cmd
-  system cmd
-  br
+  if null cmd
+    then puts usage
+    else forever - do
 
-  puts - " ... "
+      env <- getEnvironment
+      let i = lookup "i" >>> fromMaybe "1" >>> read - env
 
-  sleep i
+      puts - "> " ++ cmd
+      br
+      system cmd
+      br
 
-  return ()
+      sleep i
+      return ()
 
   where
     puts = putStrLn
@@ -34,3 +35,5 @@
     infixr 0 -
   
 
+    usage = "\n  \226\157\130  i=60 bla ls\n"
+    
