diff --git a/Panda.hs b/Panda.hs
--- a/Panda.hs
+++ b/Panda.hs
@@ -6,6 +6,5 @@
 
 import Panda.Controller.Application
 import Kibro
-import Kibro.DB.Sqlite3
 
-panda = kibro (db "") pages
+panda = startKibro pages
diff --git a/Panda/Controller/Application.hs b/Panda/Controller/Application.hs
--- a/Panda/Controller/Application.hs
+++ b/Panda/Controller/Application.hs
@@ -3,7 +3,7 @@
 -- views are pure functions.
 
 -- a note on encoding:
--- IO are in utf-8 filter, internally use bytes
+-- IOs are in utf-8 filter, internally use bytes
 
 {-# OPTIONS -fno-monomorphism-restriction #-}
 
@@ -36,10 +36,10 @@
 per_page = G.per_page
 root     = G.root
 
-blog_regex = "[0-9][0-9]-[0-9][0-9]-[0-9][0-9]"
+blog_regex = "\\d{2}-\\d{2}-\\d{2}"
 pages = 
   [ ("$"                  ,index             )
-  , ("([?].+$)?$"         ,index             )
+  , ("(\\?.+)?$"          ,index             )
   , ("rss.xml$"           ,index_feed        )
   , (blog_regex           ,blog              )
   , ("static/."           ,static            )
diff --git a/Panda/Helper/Helper.hs b/Panda/Helper/Helper.hs
--- a/Panda/Helper/Helper.hs
+++ b/Panda/Helper/Helper.hs
@@ -75,6 +75,7 @@
 
 css_link l       = itag "link" ! [rel "stylesheet", thetype "text/css", href l]
 js_link l        = itag "script" ! [thetype "text/javascript", src l]
+js_src s         = tag "script" ! [thetype "text/javascript"] << s
 rss_link l       = itag "link" ! [rel "alternate", thetype "application/rss+xml", href l, title "RSS 2.0"]
 favicon_link l   = itag "link" ! [rel "icon", thetype "image/png", href l]
 meta_tag         = meta ! [httpequiv "Content-Type", content "text/html; charset=utf-8"]
diff --git a/Panda/Helper/StateHelper.hs b/Panda/Helper/StateHelper.hs
--- a/Panda/Helper/StateHelper.hs
+++ b/Panda/Helper/StateHelper.hs
@@ -1,3 +1,5 @@
+-- trying to merge this helper with the generic one results in cyclic imports
+
 {-# OPTIONS -fno-monomorphism-restriction #-}
 
 module Panda.Helper.StateHelper where
diff --git a/Panda/Model/Tag.hs b/Panda/Model/Tag.hs
--- a/Panda/Model/Tag.hs
+++ b/Panda/Model/Tag.hs
@@ -26,7 +26,7 @@
 
 get id           = get_resources id ^ Tag id (get_name id)
 get_name id      = id.split "/" .tail.join'
-get_resources id = (G.flat_uri / id.to_utf8) .readFile -- preserve ansi file path
+get_resources id = (G.flat_uri / id.to_utf8) .readFile
   ^ filter_comment ^ lines ^ map (G.blog_id / ) ^ to_set
 
 resource_title_from_name = name_to_id >>> spaced_url
diff --git a/changelog.markdown b/changelog.markdown
--- a/changelog.markdown
+++ b/changelog.markdown
@@ -1,3 +1,10 @@
+2008.10.17
+-----------
+
+### Fix
+
+* Works with kibro 0.3
+
 2008.10.16
 -----------
 
diff --git a/panda.cabal b/panda.cabal
--- a/panda.cabal
+++ b/panda.cabal
@@ -1,5 +1,5 @@
 Name:                 panda
-Version:              2008.10.16
+Version:              2008.10.17
 Build-type:           Simple
 Synopsis:             A simple static blog engine
 Description:          A simple static blog engine
@@ -14,7 +14,7 @@
 data-files:			      readme.markdown, changelog.markdown
 
 library
-  build-depends: base, cgi, network, haskell98, old-locale, old-time, directory, filepath, containers, mps >= 2008.9.19, parsedate >= 3000.0.0, rss >= 3000.0.1, xhtml, kibro == 0.0, utf8-string >= 0.3.1, pandoc >= 0.46, MissingH, parsec >= 2
+  build-depends: base, cgi, network, haskell98, old-locale, old-time, directory, filepath, containers, mps >= 2008.9.19, parsedate >= 3000.0.0, rss >= 3000.0.1, xhtml, kibro == 0.3, utf8-string >= 0.3.1, pandoc <= 0.46, MissingH, parsec >= 2
   exposed-modules:  Panda
                     Panda.Config.Global
 
diff --git a/readme.markdown b/readme.markdown
--- a/readme.markdown
+++ b/readme.markdown
@@ -55,7 +55,6 @@
     cd myblog
     
     # get a template to start
-    rm -r db; rm -r public
     git clone git://github.com/nfjinjing/panda-template.git db
     sh db/extra/scripts/bootstrap.sh
     
@@ -100,8 +99,10 @@
     js         = jquery-1.2.6.min, jquery.getUrlParam, jquery.highlight-2, custom
 
 
-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 too, since the engine will fill it for you.
+These are custom class names for each element block.
 
+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`.
+
 You can create new themes by adding theme files in `db/config/theme`, and place
 
     theme = your_new_theme
@@ -134,5 +135,3 @@
     reject, join, belongs_to, match, gsub
     
 and so on.
-
-If the latest git version doesn't build, try `ghc-pkg unregister cgi-3001.1.7.0 --user`.
