diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,11 @@
+2009.4.25
+---------
+
+### Featuer
+
+* more middleware
+* hyena handler for simple use server
+
 2009.4.23
 ---------
 
diff --git a/hack.cabal b/hack.cabal
--- a/hack.cabal
+++ b/hack.cabal
@@ -1,33 +1,13 @@
 Name:                 hack
-Version:              2009.4.23
+Version:              2009.4.25
 Build-type:           Simple
 Synopsis:             a sexy Haskell Webserver Interface
 Description:
         
-    Hack: a sexy Haskell Webserver Interface
-    ========================================
-
+    Hack: a sexy Haskell Webserver Interface.
 
     Hack is a brain-dead port of the brilliant Ruby Rack <http://rack.rubyforge.org/> webserver interface.
 
-    What does a Hack app look like
-    ------------------------------
-
-
-        module Main where
-
-        import Hack
-        import Hack.Handler.Kibro
-
-        hello :: Application
-        hello = \env -> return $ Response 
-            { status  = 200
-            , headers = [ ("Content-Type", "text/plain") ]
-            , body    = "Hello World"
-            }
-
-        main = run hello
-
 License:              GPL
 License-file:         LICENSE
 Author:               Wang, Jinjing
@@ -40,20 +20,31 @@
 
 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 >= 2009.4.21, kibro >= 0.4.3, data-default >= 0.2, ansi-wl-pprint, bytestring, template, unix
+  build-depends: base, cgi, network, haskell98, old-locale, old-time, directory, filepath, containers, bytestring, template, base64-string, zlib, ansi-wl-pprint, mps >= 2009.4.21, kibro >= 0.4.3, data-default >= 0.2, ansi-wl-pprint, bytestring, template, unix, time
   hs-source-dirs: src/
   exposed-modules:  
                     Hack
                     Hack.Utils
                     Hack.Request
+                    Hack.Response
                     Hack.Constants
                     
                     Hack.Handler.Kibro
                     
                     Hack.Contrib.ContentSize
+                    Hack.Contrib.ContentType
+                    Hack.Contrib.File
+                    Hack.Contrib.Head
                     Hack.Contrib.Hub
+                    Hack.Contrib.Lambda
+                    Hack.Contrib.Lucky
+                    Hack.Contrib.Mime
+                    Hack.Contrib.RawRouter
+                    Hack.Contrib.ShowExceptions
+                    Hack.Contrib.ShowStatus
                     Hack.Contrib.SimpleAccessLogger
                     Hack.Contrib.SimpleRouter
-                    Hack.Contrib.RawRouter
-                    Hack.Contrib.ContentType
+                    Hack.Contrib.Static
+
+                    
                     
diff --git a/readme.md b/readme.md
--- a/readme.md
+++ b/readme.md
@@ -156,7 +156,7 @@
     run :: Application -> IO ()
 
 Spec
-
+----
 
 Hack spec = Rack spec :) 
 
diff --git a/src/Hack/Constants.hs b/src/Hack/Constants.hs
--- a/src/Hack/Constants.hs
+++ b/src/Hack/Constants.hs
@@ -1,4 +1,116 @@
 module Hack.Constants where
 
+import MPS
+import Prelude hiding ((.))
+import Data.Map
+
 status_with_no_entity_body :: [Int]
 status_with_no_entity_body = [100 .. 199] ++ [204, 304]
+
+
+-- header constants
+
+_CacheControl                   =  "Cache-Control"        
+_Connection                     =  "Connection"           
+_Date                           =  "Date"                 
+_Pragma                         =  "Pragma"               
+_TransferEncoding               =  "Transfer-Encoding"    
+_Upgrade                        =  "Upgrade"              
+_Via                            =  "Via"                  
+_Accept                         =  "Accept"               
+_AcceptCharset                  =  "Accept-Charset"       
+_AcceptEncoding                 =  "Accept-Encoding"      
+_AcceptLanguage                 =  "Accept-Language"      
+_Authorization                  =  "Authorization"        
+_Cookie                         =  "Cookie"               
+_Expect                         =  "Expect"               
+_From                           =  "From"                 
+_Host                           =  "Host"                 
+_IfModifiedSince                =  "If-Modified-Since"    
+_IfMatch                        =  "If-Match"             
+_IfNoneMatch                    =  "If-None-Match"        
+_IfRange                        =  "If-Range"             
+_IfUnmodifiedSince              =  "If-Unmodified-Since"  
+_MaxForwards                    =  "Max-Forwards"         
+_ProxyAuthorization             =  "Proxy-Authorization"  
+_Range                          =  "Range"                
+_Referer                        =  "Referer"              
+_UserAgent                      =  "User-Agent"           
+_Age                            =  "Age"                  
+_Location                       =  "Location"             
+_ProxyAuthenticate              =  "Proxy-Authenticate"   
+_Public                         =  "Public"               
+_RetryAfter                     =  "Retry-After"          
+_Server                         =  "Server"               
+_SetCookie                      =  "Set-Cookie"           
+_TE                             =  "TE"                   
+_Trailer                        =  "Trailer"              
+_Vary                           =  "Vary"                 
+_Warning                        =  "Warning"              
+_WWWAuthenticate                =  "WWW-Authenticate"     
+_Allow                          =  "Allow"                
+_ContentBase                    =  "Content-Base"         
+_ContentEncoding                =  "Content-Encoding"     
+_ContentLanguage                =  "Content-Language"     
+_ContentLength                  =  "Content-Length"       
+_ContentLocation                =  "Content-Location"     
+_ContentMD5                     =  "Content-MD5"          
+_ContentRange                   =  "Content-Range"        
+_ContentType                    =  "Content-Type"         
+_ETag                           =  "ETag"                 
+_Expires                        =  "Expires"              
+_LastModified                   =  "Last-Modified"        
+_ContentTransferEncoding        =  "Content-Transfer-Encodeing"
+
+
+-- mime type
+
+_TextPlain = "text/plain"
+_TextHtml = "text/html"
+
+
+-- status code
+status_code :: Map Int String
+status_code =
+  [  x       100          "Continue"
+  ,  x       101          "Switching Protocols"
+  ,  x       200          "OK"
+  ,  x       201          "Created"
+  ,  x       202          "Accepted"
+  ,  x       203          "Non-Authoritative Information"
+  ,  x       204          "No Content"
+  ,  x       205          "Reset Content"
+  ,  x       206          "Partial Content"
+  ,  x       300          "Multiple Choices"
+  ,  x       301          "Moved Permanently"
+  ,  x       302          "Found"
+  ,  x       303          "See Other"
+  ,  x       304          "Not Modified"
+  ,  x       305          "Use Proxy"
+  ,  x       307          "Temporary Redirect"
+  ,  x       400          "Bad Request"
+  ,  x       401          "Unauthorized"
+  ,  x       402          "Payment Required"
+  ,  x       403          "Forbidden"
+  ,  x       404          "Not Found"
+  ,  x       405          "Method Not Allowed"
+  ,  x       406          "Not Acceptable"
+  ,  x       407          "Proxy Authentication Required"
+  ,  x       408          "Request Timeout"
+  ,  x       409          "Conflict"
+  ,  x       410          "Gone"
+  ,  x       411          "Length Required"
+  ,  x       412          "Precondition Failed"
+  ,  x       413          "Request Entity Too Large"
+  ,  x       414          "Request-URI Too Large"
+  ,  x       415          "Unsupported Media Type"
+  ,  x       416          "Requested Range Not Satisfiable"
+  ,  x       417          "Expectation Failed"
+  ,  x       500          "Internal Server Error"
+  ,  x       501          "Not Implemented"
+  ,  x       502          "Bad Gateway"
+  ,  x       503          "Service Unavailable"
+  ,  x       504          "Gateway Timeout"
+  ,  x       505          "HTTP Version Not Supported"
+  ] .to_h
+  where x a b = (a, b)
diff --git a/src/Hack/Contrib/ContentSize.hs b/src/Hack/Contrib/ContentSize.hs
--- a/src/Hack/Contrib/ContentSize.hs
+++ b/src/Hack/Contrib/ContentSize.hs
@@ -2,22 +2,26 @@
 
 import Hack
 import Hack.Utils
-import Prelude hiding ((.), (^), (>))
-import MPS
+import Hack.Response
 import Hack.Constants
-import Data.Maybe (isNothing)
 
+import MPSUTF8
+import Prelude hiding ((.), (^), (>))
+
+import Data.Maybe
+
 content_size :: MiddleWare
 content_size app = \env -> do
   response <- app env
   
   if should_size response
-    then response.set_header "Content-Length" (response.body.bytesize.show) .return
+    then response
+      .set_header _ContentLength (response.body.bytesize.show) .return
     else response .return
   
   where 
-    should_size response = 
-      [  response.header "Content-Length" .isNothing
-      ,  response.header "Transfer-Encoding" .isNothing
+    should_size response =
+      [  not $ response.has_header _ContentLength
+      ,  not $ response.has_header _TransferEncoding
       ,  not $ status_with_no_entity_body.has(response.status)
       ] .and
diff --git a/src/Hack/Contrib/ContentType.hs b/src/Hack/Contrib/ContentType.hs
--- a/src/Hack/Contrib/ContentType.hs
+++ b/src/Hack/Contrib/ContentType.hs
@@ -2,14 +2,18 @@
 
 import Hack
 import Hack.Utils
+import Hack.Response
+import Hack.Constants
+
+import MPSUTF8
 import Prelude hiding ((.), (^), (>))
-import MPS
 
+
 content_type :: String -> MiddleWare
 content_type s app = \env -> do
   response <- app env
   
-  case response.header "Content-Type" of
-    Nothing -> response.set_header "Content-Type" s .return
+  case response.header _ContentType of
+    Nothing -> response.set_header _ContentType s .return
     otherwise -> response .return
 
diff --git a/src/Hack/Contrib/File.hs b/src/Hack/Contrib/File.hs
new file mode 100644
--- /dev/null
+++ b/src/Hack/Contrib/File.hs
@@ -0,0 +1,90 @@
+module Hack.Contrib.File where
+
+import Hack
+import Hack.Utils
+import Hack.Response
+import Hack.Constants
+import Hack.Contrib.Hub
+import Hack.Contrib.Mime
+
+import MPSUTF8
+import Prelude hiding ((.), (^), (>), (+), (/), readFile)
+
+import System.Directory (getCurrentDirectory)
+import Data.Default
+import Data.Maybe
+import Data.List (isInfixOf)
+import System.Directory
+import System.FilePath
+
+
+file :: Maybe String -> MiddleWare
+file root app = \env -> do
+  let path = env.path_info .url2unicode
+  
+  if ".." `isInfixOf` path 
+    then forbidden
+    else serve root path env
+
+
+serve :: Maybe String -> FilePath -> Env -> IO Response
+serve root fname env = do
+  cwd <- get_current_directory
+  let my_root = root.fromMaybe cwd
+  let path = my_root / makeRelative "/" fname
+  
+  exist <- file_exist path
+
+  if not exist
+      then path.not_found
+      else
+        do 
+          can_read <- path.get_permissions ^ readable
+          if not can_read
+            then path.no_permission
+            else path.serving
+    
+    where 
+      serving path = do
+        content <- path.read_binary_file
+        size <- file_size path ^ from_i
+        mtime_str <- file_mtime path ^ httpdate
+        
+        let default_content_type = "application/octet-stream"
+        let safe_lookup = lookup_mime_type > fromMaybe default_content_type
+        let content_type = path.takeExtension.safe_lookup
+        
+        return $ 
+          def 
+            .set_body content
+            .set_content_length size
+            .set_content_type content_type
+            .set_last_modified mtime_str
+
+no_permission path = return $
+  def
+    .set_status 404
+    .set_content_type _TextPlain
+    .set_content_length (msg.length)
+    .set_body msg
+
+  where msg = "No permission: " ++ path ++ "\n"
+
+not_found path = return $
+  def
+    .set_status 404
+    .set_content_type _TextPlain
+    .set_content_length (msg.length)
+    .set_body msg
+  
+  where msg = "File not found: " ++ path ++ "\n"
+
+forbidden = return $ 
+  def
+    .set_status 403
+    .set_content_type _TextPlain
+    .set_content_length (msg.length)
+    .set_body msg
+
+  where msg = "Forbidden\n"
+  
diff --git a/src/Hack/Contrib/Head.hs b/src/Hack/Contrib/Head.hs
new file mode 100644
--- /dev/null
+++ b/src/Hack/Contrib/Head.hs
@@ -0,0 +1,14 @@
+module Hack.Contrib.Head where
+
+import Hack
+import Hack.Utils
+
+import MPSUTF8
+import Prelude hiding ((.), (^), (>), head)
+
+head :: MiddleWare
+head app = \env -> do
+  response <- app env
+  if env.request_method.is HEAD 
+    then return $ response { body = "" }
+    else return $ response
diff --git a/src/Hack/Contrib/Hub.hs b/src/Hack/Contrib/Hub.hs
--- a/src/Hack/Contrib/Hub.hs
+++ b/src/Hack/Contrib/Hub.hs
@@ -7,14 +7,17 @@
 
 import Hack
 import Hack.Utils
-import Prelude hiding ((.), (^), (>), (+))
-import MPS
 import Hack.Constants
+
+import MPSUTF8
+import Prelude hiding ((.), (^), (>), (+))
+
 import Text.Printf
 import System.Posix.Process (getProcessID)
 import System.Time
-import Data.Maybe (fromMaybe, fromJust)
+import Data.Maybe
 import Text.PrettyPrint.ANSI.Leijen
+import Data.Time
 
 data Severity = 
      Debug
@@ -28,7 +31,7 @@
 hint :: Severity -> String
 hint = show > slice 0 1
 
-type Formatter = Severity -> CalendarTime -> Int -> String -> String -> String
+type Formatter = Severity -> UTCTime -> Int -> String -> String -> String
 
 type Logger = String -> Severity -> IO ()
 
@@ -39,28 +42,26 @@
     pid <- getProcessID ^ from_i
     stream $ formatter severity time pid program message
 
-
-
-simple_logger :: Maybe Stream -> Maybe Formatter -> String -> Env -> Logger
-simple_logger l f program env = do
-  let stream = l.fromMaybe (env.hack_errors)
-  let formatter = f.fromMaybe simple_formatter
-  hub stream formatter program
+simple_logger :: Stream -> String -> Logger
+simple_logger = flip hub simple_formatter
 
 simple_formatter :: Formatter
 simple_formatter severity time pid program message =
   printf line_format h t pid l program s
+  
   where
-    time_format = "%Y-%m-%d %H:%M:%S"
-    line_format = "%s [%s $%d] %5s | %s: %s\n"
+    line_format = "%s [%s $%d] %5s | %-25s: %s\n"
     
     h = severity.hint
+    
+    time_format = "%Y-%m-%d %H:%M:%S"
     t = time.format_time time_format
+    
     l = severity.show.upper
     s = colorize severity message
 
 colorize :: Severity -> String -> String
-colorize severity message = color severity (text message) .show
+colorize severity message = color severity (message.text) .show
   where
     level_color = 
       [ (   Debug           , blue    )
@@ -70,7 +71,6 @@
       , (   Fatal           , red     )
       , (   Unknown         , green   )
       ]
-    just_lookup s xs = xs.lookup s .fromJust
-
+    
     color severity = level_color.lookup severity .fromMaybe green
 
diff --git a/src/Hack/Contrib/Lambda.hs b/src/Hack/Contrib/Lambda.hs
new file mode 100644
--- /dev/null
+++ b/src/Hack/Contrib/Lambda.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE QuasiQuotes #-}
+
+module Hack.Contrib.Lambda where
+
+import Hack
+import Hack.Response
+import Hack.Utils
+import Hack.Contrib.File (file)
+import Hack.Constants
+
+import MPSUTF8
+import Prelude hiding ((.), (^), (>), (+))
+import Data.Maybe
+import List (find, isPrefixOf)
+import Data.Default
+
+import qualified Data.ByteString.Lazy.Char8 as B
+import qualified Codec.Compression.GZip as GZip
+import Codec.Binary.Base64.String as C
+
+data64 = [$here|
+
+H4sIAAAAAAAAA+3dMVMbMRQE4J5foaGhpMhMCkP4LcpknCrBN0BB/n1yIbHkRNKd
+pPe0j7vdjsa6/cYbjAm+++np6J5ffnw7frr+enp8ObiP0+vth+nVfT89np6nz1+O
+d9cPXiQOHJESVyKPgqaQwRCxQEPMEaghYYFmeEt/DwELNMLfGLBAE4TALdAAccAW
+6PqXgVqgy/8TpAW6+3+hRRSYBbp4KiALdO1kMBbo1pnQIgrAAl05n+EW6MKF0CLK
+YAt03XJoETLUAl12KQMt0FUXQ4sowyzQRVeEFlEGWaBrrgotogyxQJdcGVpEGWCB
+rrg6tIiiboEuWBFaRKFFiLIFul5VaBGFFiGqFuhylaFFFFqEKFqgq1WHFlFoEaJm
+gS7WEFpEoUUILUKULNqv5+acX1/dnSNWuHS2MQsXLOYHOVschPqWYs7CXTwxDkaf
+GIMsgCsxZwFciYpF3yXBVmLQArYSgxawlVi0gK3EogVqJRYtLp8Y41Zi0gK0EpsW
+hZXcJNN/pLNqUVrJu7IQua78SvzuLCpXInOmUYvKlYgcadaibiUiJ9q1GP+Ky67F
++Fdc78JifsgBTwy7FrmN6GHYtcj825n+XiJyolmL3ELS30tEjrRqkV9I8hWXzJlG
+LfILSa5E5EwFCy9wWaWFpFYicKRVi/JCEivpP9JZtcgsRPkVl0mLzEIOyu9xWbQo
+/SSi+YrLokV2IXMUV2LQIr+QOYorsWex9LO62krWF7Tzu2WtlahY+J4rKi9kjtZK
+zFmseTdLaSXmLBYXMkdnJdYslhcyR2clxizWvt+rsZKKfvy/rrSgxb4taurxb2lo
+QYtdW1S149+n0mJ/FnXl+DkHtJCw8Oh6NamsRot9WNRW42eN7cKiuhk/m5AWQhYe
+XXJd6nvRos/Co2uuSUMtWnRaeHTR5bS02qhFUyveW2HrFm2leP+RfguPrltKY6Ut
+WrRW4j29JCw8unIuzYW2Z9FeaHP3hgRZeHTtVDrqbM2ip87G7qvb1WZb956GWnh0
++cv0deG96gUtPBogpLfJhiy6m/RbeLTBn/QXEbDwaIXfEeghYeHRDk6EQsbCoyWc
+SIur+9vp6fjwE8s/QZd0jAAA
+
+|].strip
+
+zip64 = B.pack > GZip.compress > B.unpack > C.encode
+unzip64 = C.decode > B.pack > GZip.decompress > B.unpack
+
+lambda :: MiddleWare
+lambda app = \env -> do
+  if env.path_info.is "/lambda"
+    then 
+      return $ def. set_body (data64.unzip64) .set_content_type _TextHtml
+    else app env
diff --git a/src/Hack/Contrib/Lucky.hs b/src/Hack/Contrib/Lucky.hs
new file mode 100644
--- /dev/null
+++ b/src/Hack/Contrib/Lucky.hs
@@ -0,0 +1,1179 @@
+{-# LANGUAGE QuasiQuotes #-}
+
+module Hack.Contrib.Lucky where
+
+import Hack
+import Hack.Response
+import Hack.Utils
+import Hack.Contrib.File (file)
+import Hack.Constants
+
+import MPSUTF8
+import Prelude hiding ((.), (^), (>), (+))
+import Data.Maybe
+import List (find, isPrefixOf)
+import Data.Default
+
+import qualified Data.ByteString.Lazy.Char8 as B
+import qualified Codec.Compression.GZip as GZip
+import Codec.Binary.Base64.String as C
+
+zip64 = B.pack > GZip.compress > B.unpack > C.encode
+unzip64 = C.decode > B.pack > GZip.decompress > B.unpack
+
+lucky :: MiddleWare
+lucky app = \env -> do
+  if env.path_info.is "/lucky"
+    then 
+      return $ def. set_body (data64.unzip64) .set_content_type _TextHtml
+    else app env
+
+
+data64 = [$here|
+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
+H7+xRzeg/knv0jbz9U9IkEQC4q6o4ZkXb3PDXLE2gSrGpwvf5vufbllhmh68hrF0
+tqrLMeM2ZgKHcx/GBO/+0nLHsLXrDRIPrQAS8yP/eCWrURcFMTW7wYXUB7lJ+eJ6
+0Cw+qGf5kFkBnhWl66OQifphpc2bq6Zzkbu1dwsnbEtrjYtVK/MUm3IDbNm31X0Q
+wzOe0QK2LmTFlgRUOd6UsIitEsk0LB4x8hzVGn0zzAb+ji+3nXw8Wk15Tr33Ibrb
+sprrvKVj5B0gC5rdOgfM6D6XGvR5BINRyAk7ywU5YZsqOr4l1/SEx47uLWc9O3st
+Pum1aMxldB0GucP/05m+YRHd4obyLHR15l+6mWhR64BVvapx+xV9dDQMWUmN9P3g
+YsZFvO5nXEWodFsbT+bblXcWnQtWBx8FlRT25walZtM02YfFhi/GWU93zzrPbr35
+HPV8U2r19My55lidQNwg/7Y049HyTdxWk6bobk4zLpRmvJLrvS3NmOsOUJlzipdm
+w5YrO62G8D4LY3bh+yOBkP8dVevPzEXaqTXXVo+DzwLrHgH0K2xzOZx4rF+APOU6
+IAy+V8oYJSz9KsD80cVw1UVhNpX1gdpJKz0CXd6NlQxIQTPECnVVvk1kGMB93fkZ
+Gy9lBeKNEY23ZKMFsni5J3mmzfyumU2eSd+zhB2J7HoZli3tuVkD8Qz08Vd3O5uG
+ziC99ae243xFe0CcYUSrmjesEzGyvd0p6I2EK0RdC9uqLP2nqOnpWNQVEsbcy2Xk
+985nEBmImcGCJhDVeUn9FLvTI/azdRSjqblbZQxymUml/PbDlqbXKdOyYzpvuNSE
+uHExBq95rBv7eJ7fdD2y73KjYqlWO4tDSfB6RQcx8oINjigsr6U0n5kfXW3Jn+np
+MIQymuSO8JJZz9Pxd/O2DPC77cBDos53ol/KC0pNO5s1DMnPIEdqZxs6SseGmTuq
+NkI21ltNHVzlW20JaXseQMty5xdvpp96dbXeQWshmz3wiwfy/oebm7CMw+NZDpAo
+7Gwumts84Gf3M48kce9xlJLljR3pDEb7tVbvtZLRQ3pcb7neBu25+VCQeBulDkAl
+oekpeduI6VP5DR5s7JI5B+2F1kpLOrRZySMXZajVOGSyuDNDTC0NbXwLG2O+KEO0
+3TqnS0+IkPaWAlpKp27cZHJm+9+x85bYAq+2yTwbVlI+NGdsjOq1C3Sb+1LSznCm
+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
+GwoA
+|]
diff --git a/src/Hack/Contrib/Mime.hs b/src/Hack/Contrib/Mime.hs
new file mode 100644
--- /dev/null
+++ b/src/Hack/Contrib/Mime.hs
@@ -0,0 +1,177 @@
+module Hack.Contrib.Mime where
+
+import qualified Data.Map as M
+import MPSUTF8
+import Prelude hiding ((.))
+
+mime_types = 
+   [  x     ".3gp"          "video/3gpp"
+   ,  x     ".a"            "application/octet-stream"
+   ,  x     ".ai"           "application/postscript"
+   ,  x     ".aif"          "audio/x-aiff"
+   ,  x     ".aiff"         "audio/x-aiff"
+   ,  x     ".asc"          "application/pgp-signature"
+   ,  x     ".asf"          "video/x-ms-asf"
+   ,  x     ".asm"          "text/x-asm"
+   ,  x     ".asx"          "video/x-ms-asf"
+   ,  x     ".atom"         "application/atom+xml"
+   ,  x     ".au"           "audio/basic"
+   ,  x     ".avi"          "video/x-msvideo"
+   ,  x     ".bat"          "application/x-msdownload"
+   ,  x     ".bin"          "application/octet-stream"
+   ,  x     ".bmp"          "image/bmp"
+   ,  x     ".bz2"          "application/x-bzip2"
+   ,  x     ".c"            "text/x-c"
+   ,  x     ".cab"          "application/vnd.ms-cab-compressed"
+   ,  x     ".cc"           "text/x-c"
+   ,  x     ".chm"          "application/vnd.ms-htmlhelp"
+   ,  x     ".class"        "application/octet-stream"
+   ,  x     ".com"          "application/x-msdownload"
+   ,  x     ".conf"         "text/plain"
+   ,  x     ".cpp"          "text/x-c"
+   ,  x     ".crt"          "application/x-x509-ca-cert"
+   ,  x     ".css"          "text/css"
+   ,  x     ".csv"          "text/csv"
+   ,  x     ".cxx"          "text/x-c"
+   ,  x     ".deb"          "application/x-debian-package"
+   ,  x     ".der"          "application/x-x509-ca-cert"
+   ,  x     ".diff"         "text/x-diff"
+   ,  x     ".djv"          "image/vnd.djvu"
+   ,  x     ".djvu"         "image/vnd.djvu"
+   ,  x     ".dll"          "application/x-msdownload"
+   ,  x     ".dmg"          "application/octet-stream"
+   ,  x     ".doc"          "application/msword"
+   ,  x     ".dot"          "application/msword"
+   ,  x     ".dtd"          "application/xml-dtd"
+   ,  x     ".dvi"          "application/x-dvi"
+   ,  x     ".ear"          "application/java-archive"
+   ,  x     ".eml"          "message/rfc822"
+   ,  x     ".eps"          "application/postscript"
+   ,  x     ".exe"          "application/x-msdownload"
+   ,  x     ".f"            "text/x-fortran"
+   ,  x     ".f77"          "text/x-fortran"
+   ,  x     ".f90"          "text/x-fortran"
+   ,  x     ".flv"          "video/x-flv"
+   ,  x     ".for"          "text/x-fortran"
+   ,  x     ".gem"          "application/octet-stream"
+   ,  x     ".gemspec"      "text/x-script.ruby"
+   ,  x     ".gif"          "image/gif"
+   ,  x     ".gz"           "application/x-gzip"
+   ,  x     ".h"            "text/x-c"
+   ,  x     ".hh"           "text/x-c"
+   ,  x     ".htm"          "text/html"
+   ,  x     ".html"         "text/html"
+   ,  x     ".ico"          "image/vnd.microsoft.icon"
+   ,  x     ".ics"          "text/calendar"
+   ,  x     ".ifb"          "text/calendar"
+   ,  x     ".iso"          "application/octet-stream"
+   ,  x     ".jar"          "application/java-archive"
+   ,  x     ".java"         "text/x-java-source"
+   ,  x     ".jnlp"         "application/x-java-jnlp-file"
+   ,  x     ".jpeg"         "image/jpeg"
+   ,  x     ".jpg"          "image/jpeg"
+   ,  x     ".js"           "application/javascript"
+   ,  x     ".json"         "application/json"
+   ,  x     ".log"          "text/plain"
+   ,  x     ".m3u"          "audio/x-mpegurl"
+   ,  x     ".m4v"          "video/mp4"
+   ,  x     ".man"          "text/troff"
+   ,  x     ".mathml"       "application/mathml+xml"
+   ,  x     ".mbox"         "application/mbox"
+   ,  x     ".mdoc"         "text/troff"
+   ,  x     ".me"           "text/troff"
+   ,  x     ".mid"          "audio/midi"
+   ,  x     ".midi"         "audio/midi"
+   ,  x     ".mime"         "message/rfc822"
+   ,  x     ".mml"          "application/mathml+xml"
+   ,  x     ".mng"          "video/x-mng"
+   ,  x     ".mov"          "video/quicktime"
+   ,  x     ".mp3"          "audio/mpeg"
+   ,  x     ".mp4"          "video/mp4"
+   ,  x     ".mp4v"         "video/mp4"
+   ,  x     ".mpeg"         "video/mpeg"
+   ,  x     ".mpg"          "video/mpeg"
+   ,  x     ".ms"           "text/troff"
+   ,  x     ".msi"          "application/x-msdownload"
+   ,  x     ".odp"          "application/vnd.oasis.opendocument.presentation"
+   ,  x     ".ods"          "application/vnd.oasis.opendocument.spreadsheet"
+   ,  x     ".odt"          "application/vnd.oasis.opendocument.text"
+   ,  x     ".ogg"          "application/ogg"
+   ,  x     ".p"            "text/x-pascal"
+   ,  x     ".pas"          "text/x-pascal"
+   ,  x     ".pbm"          "image/x-portable-bitmap"
+   ,  x     ".pdf"          "application/pdf"
+   ,  x     ".pem"          "application/x-x509-ca-cert"
+   ,  x     ".pgm"          "image/x-portable-graymap"
+   ,  x     ".pgp"          "application/pgp-encrypted"
+   ,  x     ".pkg"          "application/octet-stream"
+   ,  x     ".pl"           "text/x-script.perl"
+   ,  x     ".pm"           "text/x-script.perl-module"
+   ,  x     ".png"          "image/png"
+   ,  x     ".pnm"          "image/x-portable-anymap"
+   ,  x     ".ppm"          "image/x-portable-pixmap"
+   ,  x     ".pps"          "application/vnd.ms-powerpoint"
+   ,  x     ".ppt"          "application/vnd.ms-powerpoint"
+   ,  x     ".ps"           "application/postscript"
+   ,  x     ".psd"          "image/vnd.adobe.photoshop"
+   ,  x     ".py"           "text/x-script.python"
+   ,  x     ".qt"           "video/quicktime"
+   ,  x     ".ra"           "audio/x-pn-realaudio"
+   ,  x     ".rake"         "text/x-script.ruby"
+   ,  x     ".ram"          "audio/x-pn-realaudio"
+   ,  x     ".rar"          "application/x-rar-compressed"
+   ,  x     ".rb"           "text/x-script.ruby"
+   ,  x     ".rdf"          "application/rdf+xml"
+   ,  x     ".roff"         "text/troff"
+   ,  x     ".rpm"          "application/x-redhat-package-manager"
+   ,  x     ".rss"          "application/rss+xml"
+   ,  x     ".rtf"          "application/rtf"
+   ,  x     ".ru"           "text/x-script.ruby"
+   ,  x     ".s"            "text/x-asm"
+   ,  x     ".sgm"          "text/sgml"
+   ,  x     ".sgml"         "text/sgml"
+   ,  x     ".sh"           "application/x-sh"
+   ,  x     ".sig"          "application/pgp-signature"
+   ,  x     ".snd"          "audio/basic"
+   ,  x     ".so"           "application/octet-stream"
+   ,  x     ".svg"          "image/svg+xml"
+   ,  x     ".svgz"         "image/svg+xml"
+   ,  x     ".swf"          "application/x-shockwave-flash"
+   ,  x     ".t"            "text/troff"
+   ,  x     ".tar"          "application/x-tar"
+   ,  x     ".tbz"          "application/x-bzip-compressed-tar"
+   ,  x     ".tcl"          "application/x-tcl"
+   ,  x     ".tex"          "application/x-tex"
+   ,  x     ".texi"         "application/x-texinfo"
+   ,  x     ".texinfo"      "application/x-texinfo"
+   ,  x     ".text"         "text/plain"
+   ,  x     ".tif"          "image/tiff"
+   ,  x     ".tiff"         "image/tiff"
+   ,  x     ".torrent"      "application/x-bittorrent"
+   ,  x     ".tr"           "text/troff"
+   ,  x     ".txt"          "text/plain"
+   ,  x     ".vcf"          "text/x-vcard"
+   ,  x     ".vcs"          "text/x-vcalendar"
+   ,  x     ".vrml"         "model/vrml"
+   ,  x     ".war"          "application/java-archive"
+   ,  x     ".wav"          "audio/x-wav"
+   ,  x     ".wma"          "audio/x-ms-wma"
+   ,  x     ".wmv"          "video/x-ms-wmv"
+   ,  x     ".wmx"          "video/x-ms-wmx"
+   ,  x     ".wrl"          "model/vrml"
+   ,  x     ".wsdl"         "application/wsdl+xml"
+   ,  x     ".xbm"          "image/x-xbitmap"
+   ,  x     ".xhtml"        "application/xhtml+xml"
+   ,  x     ".xls"          "application/vnd.ms-excel"
+   ,  x     ".xml"          "application/xml"
+   ,  x     ".xpm"          "image/x-xpixmap"
+   ,  x     ".xsl"          "application/xml"
+   ,  x     ".xslt"         "application/xslt+xml"
+   ,  x     ".yaml"         "text/yaml"
+   ,  x     ".yml"          "text/yaml"
+   ,  x     ".zip"          "application/zip"
+   ] .to_h
+   where x a b = (a, b)
+
+lookup_mime_type :: String -> Maybe String
+lookup_mime_type = flip M.lookup mime_types
diff --git a/src/Hack/Contrib/RawRouter.hs b/src/Hack/Contrib/RawRouter.hs
--- a/src/Hack/Contrib/RawRouter.hs
+++ b/src/Hack/Contrib/RawRouter.hs
@@ -2,16 +2,18 @@
 
 import Hack
 import Hack.Utils
-import List (find)
+import Hack.Request
+
+import MPSUTF8
 import Prelude hiding ((.), (^), (>))
-import MPS
-import Data.Maybe (isJust)
+import List (find)
+import Data.Maybe
 
 type RoutePath = (String, Application)
 
 route :: [RoutePath] -> MiddleWare
 route h app = \env ->
-  let path = env.path_info
+  let path = env.fullpath
   in
   case h.find (fst > flip match path > isJust) of
     Nothing -> app env
diff --git a/src/Hack/Contrib/ShowExceptions.hs b/src/Hack/Contrib/ShowExceptions.hs
new file mode 100644
--- /dev/null
+++ b/src/Hack/Contrib/ShowExceptions.hs
@@ -0,0 +1,31 @@
+module Hack.Contrib.ShowExceptions where
+
+import Hack
+import Hack.Utils
+import Hack.Contrib.Hub
+
+import MPSUTF8
+import Prelude hiding ((.), (^), (>))
+
+import Data.Maybe
+import Data.Default
+
+import System.IO  
+import System.IO.Error
+
+
+program = "ShowExceptions"
+
+show_exceptions :: Maybe Stream -> MiddleWare
+show_exceptions stream app = \env -> do
+  let my_stream = stream.fromMaybe (env.hack_errors)
+  let log = simple_logger my_stream program
+  
+  app env `catch` (handler log)
+
+  where
+    handler :: Logger -> IOError -> IO Response
+    handler log e = do
+      let message = e.show
+      Error. log message
+      return $ def { status = 500, body = message }
diff --git a/src/Hack/Contrib/ShowStatus.hs b/src/Hack/Contrib/ShowStatus.hs
new file mode 100644
--- /dev/null
+++ b/src/Hack/Contrib/ShowStatus.hs
@@ -0,0 +1,97 @@
+{-# LANGUAGE QuasiQuotes #-}
+
+module Hack.Contrib.ShowStatus where
+
+import Hack
+import Hack.Utils
+import Hack.Constants
+import Hack.Request hiding (body)
+import Hack.Response
+
+import MPSUTF8
+import Prelude hiding ((.), (^), (>), head)
+
+import Data.Maybe
+
+show_status :: MiddleWare
+show_status app = \env -> do
+  response <- app env
+  
+  let content_length = response.header _ContentLength .fromMaybe "0"
+  let content_empty = content_length .read .(<= 0)
+  
+  if response.status >= 400 && content_empty
+    then 
+      let 
+          i       = response.status
+          message = i.show_status_code .fromMaybe (i.show)
+          detail  = env.custom_"hack.showstatus.detail" .fromMaybe message
+          result  = template message detail env response
+          size    = result.bytesize
+      in
+      return $ 
+        response
+          .set_body result
+          .set_content_type _TextHtml
+          .set_content_length size
+    
+    else return response
+
+
+
+template message detail env response = 
+  let h = escape_html in [$here|
+
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+  <title>#{h message } at #{h (env.path.url2unicode) }</title>
+  <meta name="robots" content="NONE,NOARCHIVE" />
+  <style type="text/css">
+    html * { padding:0; margin:0; }
+    body * { padding:10px 20px; }
+    body * * { padding:0; }
+    body { font:small sans-serif; background:#eee; }
+    body>div { border-bottom:1px solid #ddd; }
+    h1 { font-weight:normal; margin-bottom:.4em; }
+    h1 span { font-size:60%; color:#666; font-weight:normal; }
+    table { border:none; border-collapse: collapse; width:100%; }
+    td, th { vertical-align:top; padding:2px 3px; }
+    th { width:12em; text-align:right; color:#666; padding-right:.5em; }
+    #info { background:#f6f6f6; }
+    #info ol { margin: 0.5em 4em; }
+    #info ol li { font-family: monospace; }
+    #summary { background: #ffc; }
+    #explanation { background:#eee; border-bottom: 0px none; }
+  </style>
+</head>
+<body>
+  <div id="summary">
+    <h1>#{h message } <span>(#{ response.status })</span></h1>
+    <table class="meta">
+      <tr>
+        <th>Request Method:</th>
+        <td>#{ env.request_method }</td>
+      </tr>
+      <tr>
+        <th>Request URL:</th>
+      <td>#{h (env.url.url2unicode) }</td>
+      </tr>
+    </table>
+  </div>
+  <div id="info">
+    <p>#{h detail }</p>
+  </div>
+
+  <div id="explanation">
+    <p>
+    You're seeing this error because you use <code>Hack.Contrib.ShowStatus</code>.
+    </p>
+  </div>
+</body>
+</html>
+
+
+|]
diff --git a/src/Hack/Contrib/SimpleAccessLogger.hs b/src/Hack/Contrib/SimpleAccessLogger.hs
--- a/src/Hack/Contrib/SimpleAccessLogger.hs
+++ b/src/Hack/Contrib/SimpleAccessLogger.hs
@@ -4,11 +4,18 @@
 import Hack.Utils
 import Hack.Request
 import Hack.Contrib.Hub
+
+import MPSUTF8
 import Prelude hiding ((.), (^), (>))
-import MPS
+import Data.Maybe
 
-simple_access_logger :: Maybe Stream -> Maybe Formatter -> String -> MiddleWare
-simple_access_logger stream formatter program app = \env -> do
-  let log = simple_logger stream formatter program env
-  Debug .log (env.url)
+program = "SimpleAccessLogger"
+
+simple_access_logger :: Maybe Stream -> MiddleWare
+simple_access_logger stream app = \env -> do
+  let my_stream = stream.fromMaybe (env.hack_errors)
+  let log = simple_logger my_stream program
+  
+  Info .log (env.url.url2unicode)
+  
   app env
diff --git a/src/Hack/Contrib/SimpleRouter.hs b/src/Hack/Contrib/SimpleRouter.hs
--- a/src/Hack/Contrib/SimpleRouter.hs
+++ b/src/Hack/Contrib/SimpleRouter.hs
@@ -4,14 +4,15 @@
 
 import Hack
 import Hack.Utils
-import List (find)
+
+import MPSUTF8
 import Prelude hiding ((.), (^), (>))
-import MPS
+import List (find, isPrefixOf)
 
 type RoutePath = (String, Application)
 
 route :: [RoutePath] -> MiddleWare
-route h _ = \env ->
+route h app = \env ->
   let path             = env.path_info
       script           = env.script_name
       mod_env location = env 
@@ -19,6 +20,6 @@
         , path_info    = path.drop (location.length)
         }
   in
-  case h.find (fst > flip starts_with path) of
-    Nothing -> not_found [$here|Not Found: #{path}|]
+  case h.find (fst > (`isPrefixOf` path) ) of
+    Nothing -> app env
     Just (location, app) -> app (mod_env location)
diff --git a/src/Hack/Contrib/Static.hs b/src/Hack/Contrib/Static.hs
new file mode 100644
--- /dev/null
+++ b/src/Hack/Contrib/Static.hs
@@ -0,0 +1,25 @@
+module Hack.Contrib.Static where
+
+import Hack
+import Hack.Response
+import Hack.Utils
+import Hack.Contrib.File (file)
+
+import MPSUTF8
+import Prelude hiding ((.), (^), (>), (+))
+import Data.Maybe
+import List (find, isPrefixOf)
+
+program = "Static"
+
+static :: Maybe String -> [String] -> MiddleWare
+static root urls app = \env -> do
+  let my_urls = if urls.null then ["/favicon.ico"] else urls
+
+  let path = env.path_info .url2unicode
+
+  let can_serve = my_urls.find ( `isPrefixOf` path ) .isJust
+  
+  if can_serve
+    then file root app env
+    else app env
diff --git a/src/Hack/Handler/Kibro.hs b/src/Hack/Handler/Kibro.hs
--- a/src/Hack/Handler/Kibro.hs
+++ b/src/Hack/Handler/Kibro.hs
@@ -6,7 +6,7 @@
 import Network.URI
 import Data.Default
 import Prelude hiding ((.), (^))
-import MPS
+import MPSUTF8
 import System.IO
 
 get_env = do
@@ -27,7 +27,7 @@
     ,  server_name    = server_name'
     ,  server_port    = server_port'
     ,  hack_input     = hack_input'
-    ,  hack_errors    = hPutStr stderr
+    ,  hack_errors    = \x -> hPutStr stderr (x.u2b)
     }
     .return
   where 
diff --git a/src/Hack/Request.hs b/src/Hack/Request.hs
--- a/src/Hack/Request.hs
+++ b/src/Hack/Request.hs
@@ -4,10 +4,10 @@
 
 import Hack
 import Prelude hiding ((.), (^), (>), lookup, (+))
-import MPS
+import MPSUTF8
 import Hack.Utils
 import List (lookup)
-import Data.Maybe (fromJust)
+import Data.Maybe
 
 body :: Env -> String
 body = hack_input
@@ -28,10 +28,13 @@
     else env.path ++ "?" ++ env.query_string
 
 http_ :: String -> Env -> Maybe String
-http_ s env = env.http.reverse.lookup s
+http_ s env = env.http.reverse.lookup ("HTTP_" ++s)
 
+custom_ :: String -> Env -> Maybe String
+custom_ s env = env.custom.reverse.lookup s
+
 host :: Env -> String
-host env = ( env.http_"HOST" + Just (env.server_name) ) .fromJust .gsub ":\\d+\\z" ""
+host env = env.http_"HOST" .fromMaybe (env.server_name) .gsub ":\\d+\\z" ""
 
 url :: Env -> String
 url env =
diff --git a/src/Hack/Response.hs b/src/Hack/Response.hs
new file mode 100644
--- /dev/null
+++ b/src/Hack/Response.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE QuasiQuotes #-}
+
+module Hack.Response where
+
+import Hack
+import Hack.Utils
+import Hack.Constants
+
+import MPSUTF8
+import Prelude hiding ((.), (^), (>), (+))
+
+import Data.Map (toList)
+import Data.Maybe
+
+
+header :: String -> Response -> Maybe String
+header s r = r.headers.reverse.lookup s
+
+has_header :: String -> Response -> Bool
+has_header s r = r.header s .isJust
+
+set_header :: String -> String -> Response -> Response
+set_header k v r = r 
+  { headers = (r.headers ++ [(k,v)] ) .to_h .toList }
+
+set_content_type :: String -> Response -> Response
+set_content_type s r = r.set_header _ContentType s
+
+set_content_length :: Int -> Response -> Response
+set_content_length i r = r.set_header _ContentLength (i.show)
+
+set_body :: String -> Response -> Response
+set_body s r = r { body = s }
+
+set_status :: Int -> Response -> Response
+set_status i r = r { status = i }
+
+set_last_modified :: String -> Response -> Response
+set_last_modified s r = r.set_header _LastModified s
diff --git a/src/Hack/Utils.hs b/src/Hack/Utils.hs
--- a/src/Hack/Utils.hs
+++ b/src/Hack/Utils.hs
@@ -4,31 +4,42 @@
 module Hack.Utils where
 
 import Hack
+import Hack.Constants
+
+import MPSUTF8
+import Prelude hiding ((.), (^), (>), lookup, (+), (/))
+
 import Network.CGI hiding (Html)
 import Network.URI hiding (path)
 import Data.Default
-import Prelude hiding ((.), (^), (>), lookup, (+))
-import MPS
+
 import Control.Arrow ((>>>), (<<<))
 import Data.Map (toList, lookup)
-import System.Time
-import System.Locale
+import Data.Time
 import Text.Template
 import qualified Data.ByteString.Lazy.Char8 as B
 import Control.Monad (mplus)
+import Data.Maybe
+import System.IO
+import System.Posix.Files
+import System.Locale
+import System.Directory
+import Data.Time.Clock.POSIX
+import System.FilePath ((</>))
+import Network.URI (unEscapeString)
+import Data.Char (ord)
 
+-- import Date.Time
+
 (>) = (>>>)
 infixl 8 >
 
 (+) = mplus
 infixl 8 +
 
-not_found :: String -> IO Response  
-not_found x = return $ Response
-  {  status  = 404
-  ,  headers = [("Content-Type", "text/plain")]
-  ,  body    = x
-  }
+(/) :: FilePath -> FilePath -> FilePath
+(/) = (</>)
+infixl 5 /
 
 empty_app :: Application
 empty_app = return def
@@ -37,29 +48,64 @@
 use :: [MiddleWare] -> MiddleWare
 use = reduce (<<<)
 
-not_found_app :: Application
-not_found_app = \env -> not_found [$here|Not Found: #{env.path_info}|]
+bytesize :: String -> Int
+bytesize = B.pack > B.length > from_i
 
-header :: String -> Response -> Maybe String
-header s r = r.headers.to_h.lookup s
+dummy_middleware :: MiddleWare
+dummy_middleware = id
 
-set_header :: String -> String -> Response -> Response
-set_header k v r = r 
-  { headers = (r.headers ++ [(k,v)] ) .to_h .toList }
+dummy_app :: Application
+dummy_app _ = return $ def { status = 500 }
 
-bytesize :: String -> Int
-bytesize = u2b > length
+escape_html = concatMap fixChar
+    where
+      fixChar '<' = "<"
+      fixChar '>' = ">"
+      fixChar '&' = "&"
+      fixChar '"' = "\""
+      fixChar c | ord c < 0x80 = [c]
+      fixChar c = "&#" ++ show (ord c) ++ ";"
 
+
+
+
+show_status_code x = status_code.lookup x
+      
+      
 -- MPS candidate
 
-now :: IO CalendarTime
-now = getClockTime >>= toCalendarTime
+now :: IO UTCTime
+now = getCurrentTime
 
-format_time :: String -> CalendarTime -> String
-format_time = formatCalendarTime defaultTimeLocale
+format_time :: String -> UTCTime -> String
+format_time = formatTime defaultTimeLocale
 
 interpolate :: String -> [(String, String)] -> String
 interpolate s params = B.unpack $ substitute (B.pack s) (context params)
   where 
     context = map packPair > to_h
     packPair (x, y) = (B.pack x, B.pack y)
+    
+just_lookup s xs = xs.lookup s .fromJust
+
+httpdate :: UTCTime -> String
+httpdate x = x.format_time rfc822DateFormat where
+
+file_size :: String -> IO Integer
+file_size path = withFile (path.u2b) ReadMode hFileSize
+
+file_mtime :: String -> IO UTCTime
+file_mtime path = getFileStatus (path.u2b) 
+                  ^ modificationTime ^ realToFrac ^ posixSecondsToUTCTime
+
+read_binary_file :: String -> IO String
+read_binary_file path = path.u2b.B.readFile ^ B.unpack
+
+get_permissions :: String -> IO Permissions
+get_permissions path = getPermissions (path.u2b) 
+
+url2unicode :: String -> String
+url2unicode s = s.unEscapeString.b2u
+
+get_current_directory :: IO String
+get_current_directory = getCurrentDirectory ^ b2u
