diff --git a/changelog.markdown b/changelog.markdown
--- a/changelog.markdown
+++ b/changelog.markdown
@@ -1,3 +1,12 @@
+2008.11.7
+---------
+
+### Feature
+
+* Use HCheat
+* Use MPSUTF8 for utf8 wrapper
+* Use kibro 0.4.2
+
 2008.11.6
 ----------
 
diff --git a/panda.cabal b/panda.cabal
--- a/panda.cabal
+++ b/panda.cabal
@@ -1,5 +1,5 @@
 Name:                 panda
-Version:              2008.11.6
+Version:              2008.11.7
 Build-type:           Simple
 Synopsis:             A simple static blog engine
 Description:          A simple static blog engine
@@ -15,7 +15,7 @@
 
 library
   ghc-options: -Wall -fno-warn-missing-signatures -fno-warn-name-shadowing -fno-warn-orphans -fno-warn-type-defaults
-  build-depends: base, cgi, network, haskell98, old-locale, old-time, directory, filepath, containers, mps >= 2008.10.25, parsedate >= 3000.0.0, rss >= 3000.0.1, xhtml, kibro >= 0.4.1, utf8-string >= 0.3.2, pandoc, parsec >= 2, MissingH, gravatar >= 0.3, data-default >= 0.2
+  build-depends: base, cgi, network, haskell98, old-locale, old-time, directory, filepath, containers, mps >= 2008.11.6, parsedate >= 3000.0.0, rss >= 3000.0.1, xhtml, kibro >= 0.4.2, utf8-string >= 0.3.3, pandoc, parsec >= 2, MissingH, gravatar >= 0.3, data-default >= 0.2, hcheat >= 2008.11.6
   hs-source-dirs: src/
   exposed-modules:  
                     Panda
@@ -23,8 +23,6 @@
                     Panda.Config.Global
 
                     Panda.Controller.Application
-
-                    Panda.Extension.Analytics.T
 
                     Panda.Helper.Env
                     Panda.Helper.Helper
diff --git a/src/Panda/Extension/Analytics/T.hs b/src/Panda/Extension/Analytics/T.hs
deleted file mode 100644
--- a/src/Panda/Extension/Analytics/T.hs
+++ /dev/null
@@ -1,20 +0,0 @@
-{-# LANGUAGE NoImplicitPrelude #-}
-
-module Panda.Extension.Analytics.T where
-
-import Panda.Helper.Env
-import qualified Panda.Config.Global as G
-
-analytics_snippet = 
-  [ "<script type=\"text/javascript\">                                                                                                  "
-  , "var gaJsHost = ((\"https:\" == document.location.protocol) ? \"https://ssl.\" : \"http://www.\");                                  "
-  , "document.write(unescape(\"%3Cscript src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\")); "
-  , "</script>                                                                                                                          "
-  , "<script type=\"text/javascript\">                                                                                                  "
-  , "var pageTracker = _gat._getTracker(\"UA-xxxxxx-x\");                                                                               "
-  , "pageTracker._trackPageview();                                                                                                      "
-  , "</script>                                                                                                                          "
-  ]
-  .map strip
-  .join "\n"
-  .gsub "UA-xxxxxx-x" G.analytics_account_id
diff --git a/src/Panda/Helper/Env.hs b/src/Panda/Helper/Env.hs
--- a/src/Panda/Helper/Env.hs
+++ b/src/Panda/Helper/Env.hs
@@ -22,7 +22,7 @@
   , module Data.Foldable
   , module Data.Default
 ) where
-  
+
 import Panda.Helper.PreludeEnv hiding (FilePath)
 import Control.Monad (liftM2, liftM3, liftM4, liftM5) 
 import Control.Arrow ((>>>), (&&&), (***))
diff --git a/src/Panda/Helper/Helper.hs b/src/Panda/Helper/Helper.hs
--- a/src/Panda/Helper/Helper.hs
+++ b/src/Panda/Helper/Helper.hs
@@ -8,8 +8,6 @@
 module Panda.Helper.Helper where
 
 import Panda.Helper.PreludeEnv
-import qualified MPS as MPS
-import System.IO.UTF8 (readFile, writeFile)
 import Network.URI
 import Network.CGI
 import Control.Arrow ((>>>))
@@ -23,7 +21,6 @@
 import Panda.Type.Reader
 import System.FilePath.Posix hiding ((<.>))
 import System.Time
-import System.Directory
 
 (/) :: FilePath -> FilePath -> FilePath
 (/) = (</>)
@@ -128,15 +125,3 @@
     uri :: a -> String
 
 
-
--- io
-b2u        = from_utf8
-u2b        = to_utf8
-
-read_file  = readFile
-write_file = writeFile
-ls x       = MPS.ls (x.u2b) ^ map b2u
-mkdir_p    = u2b >>> createDirectoryIfMissing True
-
-file_exist = u2b >>> doesFileExist
-dir_exist = u2b >>> doesDirectoryExist
diff --git a/src/Panda/Helper/PreludeEnv.hs b/src/Panda/Helper/PreludeEnv.hs
--- a/src/Panda/Helper/PreludeEnv.hs
+++ b/src/Panda/Helper/PreludeEnv.hs
@@ -1,20 +1,10 @@
 {-# LANGUAGE NoImplicitPrelude #-}
 
 module Panda.Helper.PreludeEnv  (
-    module MPS
+    module MPSUTF8
   , module Prelude
-  , split
-  , gsub
-  , match
 ) where
 
 import Prelude hiding ((.), (/), (^), id, span, readFile, writeFile)
-import MPS hiding (base, col, sub, date, ls, match, gsub, split)
-import qualified MPS as MPS
+import MPSUTF8 hiding (base, col, date, sub)
 
--- io for statehelper
-b2u        = from_utf8
-u2b        = to_utf8
-split x y  = MPS.split (x.u2b) (y.u2b) .map b2u
-gsub x y z = MPS.gsub (x.u2b) (y.u2b) (z.u2b) .b2u
-match x y  = MPS.match (x.u2b) (y.u2b)
diff --git a/src/Panda/View/Widget/Template.hs b/src/Panda/View/Widget/Template.hs
--- a/src/Panda/View/Widget/Template.hs
+++ b/src/Panda/View/Widget/Template.hs
@@ -15,9 +15,9 @@
 import Panda.Helper.Env hiding (header, body)
 
 -- extension
-import Panda.Extension.Analytics.T
 import Panda.Type.Extension
 import Panda.Helper.StateHelper
+import HCheat
 
 body t state x = Html.body << 
   [ div_class (t.T.container) << 
@@ -26,7 +26,7 @@
     , div_id "page" << [ div_class (t.T.main) << body_content x, sidebar (t.T.sidebar) state ]
     , footer (t.T.footer)
     ]
-  , only_for Analytics $ primHtml analytics_snippet
+  , only_for Analytics $ primHtml (analytics G.analytics_account_id)
   ]
 
 template t state x = [html_head state, body t state x]
