diff --git a/bamboo.cabal b/bamboo.cabal
--- a/bamboo.cabal
+++ b/bamboo.cabal
@@ -1,5 +1,5 @@
 Name:                 bamboo
-Version:              2009.4.25
+Version:              2009.4.26
 Build-type:           Simple
 Synopsis:             A simple blog engine on Hack
 Description:          A simple blog engine on Hack
@@ -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, time, unix, bytestring, template, base64-string, zlib, directory, ansi-wl-pprint, hyena, filepath, containers, process, 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, hack >= 2009.4.25
+  build-depends: base, cgi, network, haskell98, old-locale, old-time, time, unix, bytestring, template, base64-string, zlib, directory, ansi-wl-pprint, filepath, containers, process, 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, hack >= 2009.4.28
   hs-source-dirs: src/
   exposed-modules:  
                     Bamboo
@@ -72,5 +72,3 @@
                     Bamboo.View.Widget.RSS
                     Bamboo.View.Widget.Body
                     Bamboo.View.Widget.Footer
-  
-  
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,10 @@
+2009.4.26
+----------
+
+### Feature
+
+* Handler is now configured at Main.hs
+
 2009.4.25
 ----------
 
diff --git a/readme.md b/readme.md
--- a/readme.md
+++ b/readme.md
@@ -1,10 +1,10 @@
 # Bamboo: a simple blog engine on Hack
 
-Bamboo is a port of [Panda](http://github.com/nfjinjing/panda/tree), but runs on top of Hack. All features except comment works out of box. I intend to reduce the code size and make the app more robust by using the benefit of middlewares available in [Hack](http://github.com/nfjinjing/hack/tree).
+Bamboo is a port of [Panda](http://github.com/nfjinjing/panda/tree), but runs on top of Hack. It's an experimental project but quite portable.
 
 ## Features
 
-### simple file structure
+### plain text as data source
 
     db
     |---- blog
@@ -18,7 +18,7 @@
     |---- static
           |---- About
 
-### simple config file
+### simple config
 
     blog_title    = C大调
     blog_subtitle = 野猫不吃薯片
@@ -30,10 +30,6 @@
     sidebar       = Blogroll.md
     favicon       = bamboo_icon.png
 
-### standard web technology
-
-extend/customize with pure css and javascript ( note the custom part in css and js from the last section )
-
 ### hacker friendly
 
 * posts are in plain text
@@ -50,152 +46,99 @@
 
 Or [browser](http://github.com/nfjinjing/jinjing-blog/tree/master) online
 
+Note: This blog is using the Kibro handler. It's running under lighttpd and in fcgi. Definitely more robust, but require some set up work. 
+
 ### config
 
 [jinjing's blog config file](http://github.com/nfjinjing/jinjing-blog/blob/401a541443d88bbf8d844874c1473d4b3bc81784/config/site.txt)
 
 ## Install
 
-### Quick setup
+### With Hyena handler
 
-#### install bamboo
+#### update cabal
 
-    cabal update; cabal install bamboo
+    cabal update
+    
+#### install hyena
 
-### Install lighttpd 1.4.19 (used by kibro)
+    git clone git://github.com/tibbe/hyena.git
+    cd hyena
+    cabal install
 
-    wget http://www.lighttpd.net/download/lighttpd-1.4.19.tar.gz
-    tar zxfv lighttpd-1.4.19.tar.gz
-    cd lighttpd-1.4.19
-    ./configure --prefix=$HOME
-    make
-    make install
+#### install bamboo
 
-#### bootstrap
+    cabal install happy; cabal install rss; cabal install bamboo
 
-    # bamboo is a kibro project
-    kibro new myblog
+#### get blog starter kit ( template )
+
+    mkdir myblog
     cd myblog
     
     # get a template to start
     git clone git://github.com/nfjinjing/bamboo-template.git db
-    sh db/extra/scripts/bootstrap.sh
     
-#### run
-
-    kibro start
-
-It should be running on [http://127.0.0.1:3000](http://127.0.0.1:3000) now.
-
-Since Bamboo is based on Kibro, it helps to read how [Kibro](http://chrisdone.com/blog/tag/Kibro) works.
-
-### Goodies
-
-Install `Ruby` / `Rake`, then `rake -T` to see a list of helper commands.
-
-### Config
-
-Edit `db/config/site.txt`
-
-    blog_title   = My shiny blog
-    host_name    = yourhost.com
-    author_email = your_mail@yourhost.com
-
-Restart required. (hint: `rake r`)
-
-## User's guide
-
-### posts
-
-All posts are placed in `db/blog` folder, with naming convention [yy-mm-dd title], in Markdown format by default.
-
-Markdown supports embedding HTML snippets, so embedding youtube video is a peace of cake.
-
-<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/rEYg0Dqtogg&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/rEYg0Dqtogg&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>
+#### create a entry point
     
-You can create static pages, in `db/static`, and link to them via `/static/static_file_name` inside your blogs.
-
-For example `db/static/About`, where you can put some profile in.
-
-### tagging
-
-Create a file in `db/tag`, the name of the file will be the name of the new tag.
-edit the tag file, insert the full name of a blog post, e.g. `08-09-04 Welcome to Bamboo`
-
-### html / tex / restructured text format
-
-Just create the file in blog as usual with an extension (e.g. html, rst, tex ), and you are all set.
-
-### customize navigation bar
-
-see example in `config/site`:
-
-    navigation = About, Gallery
-
-Multiple renderer supported, use extension as hints.
-
-Note, the navigation configuration requires the full name of your static page, so you should include extension in configuration as well.
-
-### customize sidebar
-
-see example in `config/site`, `config/sidebar/Blogroll.md`
-
-    sidebar    = Blogroll.md
-  
-Sidebar items are html snippets plugged into view. You can create these plugins in multiple formats, use extension.
-
-### styling
-
-Styling is done by editing `public/theme/blueprint/css/custom.css`, see the default `custom.css` for inspiration.
-
-### theming
+put these into Main.hs
+    
+    module Main where
 
-New theme can be created without touching `Bamboo` code, example blueprint theme in `db/config/theme/blueprint.txt`
+    import Bamboo
+    import Hack.Handler.Hyena
 
-    container  = container
-    header     = column span-12 first
-    navigation = column span-12 first large
-    main       = column span-9 first
-    sidebar    = column span-3 last
-    footer     = footer
+    main = run bamboo
+    
+    
+#### run
 
-    css        = screen, blueprint-wp, custom
-    js         = jquery-1.2.6.min, jquery.getUrlParam, jquery.highlight-2, custom
+    ghc --make -O2 Main.hs
+    ./Main
 
-These are custom class names for each element block.
+It should be running on [http://127.0.0.1:3000](http://127.0.0.1:3000) now.
 
-You can create new themes by adding theme definition files in `db/config/theme`, put theme resources under `db/public/theme/your_theme_name` and place
+### With Kibro handler
 
-    theme = your_new_theme
+#### update cabal
 
-inside `site.txt`.
+    cabal update
 
-note: `css` and `js` are required to be placed under `db/public/theme/your_theme_name/css` and `db/public/theme/your_theme_name/js`, leave out the file extensions in `site.txt`.
+#### install hyena
 
-### syntax highlighting
+    git clone git://github.com/tibbe/hyena.git
+    cd hyena
+    cabal install
 
-    <object 
-      type="text/html" \
-      data="http://www.flickr.com/slideShow/index.gne \
-      ?user_id=56167317@N00&tags=cat-hack" \
-      width="500" height="500">
-    </object>
+#### install bamboo
 
-Highlight for `HTML` is enabled by default, see `public/theme/blueprint/js/custom.js` for more language support.
+    cabal install happy; cabal install rss; cabal install bamboo
 
-Highlight style is configured at `config/theme/blueprint.txt`, just change `highlight/default` to any css inside `theme/blueprint/css/highlight`.
+### Install lighttpd 1.4.19 (used by kibro)
 
+    wget http://www.lighttpd.net/download/lighttpd-1.4.19.tar.gz
+    tar zxfv lighttpd-1.4.19.tar.gz
+    cd lighttpd-1.4.19
+    ./configure --prefix=$HOME
+    make
+    make install
 
-### analytics
+#### bootstrap
 
-Google analytics is available, put your `tracker_id` in `site.txt`, make sure `analytics` extension is used by adding `analytics` to the `extension` option.
+    # bamboo is a kibro project
+    kibro new myblog
+    cd myblog
+    
+    # get a template to start
+    git clone git://github.com/nfjinjing/bamboo-template.git db
+    sh db/extra/scripts/bootstrap.sh
+    
+#### run
 
-### final note
+    kibro start
 
-try to use `<h3>` for heading in your posts, at least `wordpress` is using this convention. `<h1>` is not styled in the blueprint theme, so they look kind of unfitted. But this does not stop anyone from styling `<h1>, <h2>` if wished.
+It should be running on [http://127.0.0.1:3000](http://127.0.0.1:3000) now.
 
 ## Links
 
 * [Hack](http://github.com/nfjinjing/hack/tree)
-* [Kibro](http://chrisdone.com/blog/tag/Kibro)
 * [Source](http://github.com/nfjinjing/bamboo/tree)
diff --git a/src/Bamboo.hs b/src/Bamboo.hs
--- a/src/Bamboo.hs
+++ b/src/Bamboo.hs
@@ -10,7 +10,6 @@
 
 import Bamboo.Controller.Application (paths)
 
-import Hack.Handler.Hyena
 import Hack.Utils
 import Hack
 import Hack.Contrib.RawRouter
@@ -21,7 +20,7 @@
 import Hack.Contrib.File
 import Hack.Contrib.Static
 import Hack.Contrib.ShowStatus
-import Hack.Contrib.Lucky
+import Hack.Contrib.Lambda
 
 import qualified Hack.Contrib.Head as H
 
@@ -48,14 +47,15 @@
     
   -- dispatch
   -- static serve
-   ,  lucky
+  ,  lambda
   ,  static (Just "db/public") ["/theme", "/images", "/plugin", "/favicon.ico"]
   
   -- real app
   ,  route paths
   ]
   
+
 app = dummy_app .use middleware_stack
 
-bamboo :: IO ()
-bamboo = run app
+bamboo :: Application
+bamboo = app
