diff --git a/Nemesis b/Nemesis
--- a/Nemesis
+++ b/Nemesis
@@ -4,25 +4,19 @@
     [ "**/*.hi"
     , "**/*.o"
     , "manifest"
+    , "main"
+    , "nemesis-tmp.*"
     ]
-    
-  desc "learn Haskell"
-  task "learn-haskell: learn-fp" (putStrLn "Haskell is awesome!")
   
-  desc "learn Functional Programming"
-  task "learn-fp : learn-lisp" $ do
-    sh "echo 'into FP'"
-
-  desc "learn LISP"
-  task "learn-lisp" $ do
-    sh "echo 'LISP is cool!'"
-    
+  desc "prepare cabal dist"
   task "dist" $ do
     sh "cabal clean"
     sh "cabal configure"
     sh "cabal sdist"
 
+  desc "start console"
   task "i" (sh "ghci -isrc src/System/Nemesis.hs")
 
+  desc "put all .hs files in manifest"
   task "manifest" $ do
     sh "find . | grep 'hs$' > manifest"
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,11 @@
+2009.6.14.1
+-----------
+
+### Fix
+
+* only check "main ="
+* do not generate tmp file when name is `Nemesis.hs`
+
 2009.6.14
 ---------
 
diff --git a/nemesis.cabal b/nemesis.cabal
--- a/nemesis.cabal
+++ b/nemesis.cabal
@@ -1,5 +1,5 @@
 Name:                 nemesis
-Version:              2009.6.14
+Version:              2009.6.14.1
 Build-type:           Simple
 Synopsis:             a rake like task management tool
 Description:
diff --git a/src/System/Nemesis/Runner.hs b/src/System/Nemesis/Runner.hs
--- a/src/System/Nemesis/Runner.hs
+++ b/src/System/Nemesis/Runner.hs
@@ -20,19 +20,19 @@
   src <- readFile src_name
   
   let patch_end   = patch_src main_src src end
-      patch_start = patch_src import_src src start
+      patch_start = patch_src main_src src start
       h = src.lines.takeWhile (lower > starts_with sep > not) .unlines
       t = src.lines.dropWhile (lower > starts_with sep > not) .unlines
-  if t.null
-    then output $ patch_start ++ h ++ patch_end
-    else output $ h ++ patch_start ++ "\n" ++ t ++ patch_end
-  
-  if ((null $ patch_end ++ patch_start) && src_name.ends_with ".hs")
+
+  if ((patch_end ++ patch_start).null && src_name.ends_with ".hs")
     then do
       system $ "ghc --make -O1 " ++ src_name ++ " -o " ++ bin
       rm src_o
       rm src_hi
     else do
+      if t.null
+        then output_tmp $ patch_start ++ h ++ patch_end
+        else output_tmp $ h ++ patch_start ++ "\n" ++ t ++ patch_end
       system $ "ghc --make -O1 " ++ tmp_name ++ " -o " ++ bin
       rm tmp_name
       rm tmp_o
@@ -41,12 +41,11 @@
   where
 
     main_src        = "main ="
-    import_src      = "import System.Nemesis"
     get_name []     = error "Nemesis does not exist!"
     get_name xs     = xs.first
     possible_source = ["Nemesis", "nemesis", "nemesis.hs", "Nemesis.hs"]
     sep             = "-- nem"
-    output          = writeFile tmp_name
+    output_tmp      = writeFile tmp_name
     tmp_name        = "nemesis-tmp.hs"
     tmp_o           = "nemesis-tmp.o"
     tmp_hi          = "nemesis-tmp.hi"
