diff --git a/Nemesis b/Nemesis
--- a/Nemesis
+++ b/Nemesis
@@ -27,6 +27,7 @@
   task "i" - do
     sh "ghci -isrc src/Test/Test.hs"
   
+  desc "run the test app in src/Test/Test.hs"
   task "run" - do
     sh "runghc -isrc src/Test/Test.hs"
     
diff --git a/miku.cabal b/miku.cabal
--- a/miku.cabal
+++ b/miku.cabal
@@ -1,5 +1,5 @@
 Name:                 miku
-Version:              2012.1.19
+Version:              2012.10.27
 Build-type:           Simple
 Synopsis:             A minimum web dev DSL in Haskell
 Description:
diff --git a/readme.md b/readme.md
--- a/readme.md
+++ b/readme.md
@@ -100,6 +100,14 @@
     miku :: MikuMonad -> Application
 
 
+## Miku application template
+
+This template project shows how to incorporate sandboxing, auto-reloading and other cool stuff.
+
+<https://github.com/nfjinjing/miku-template>
+
+  
+
 ## Hints
 
 * It's recommended to use your own html combinator / template engine. Try DIY with, e.g. [moe](http://github.com/nfjinjing/moe).
@@ -113,8 +121,3 @@
 * miku is inspired by [Rack](http://rack.rubyforge.org), [Rails](http://rubyonrails.org), [Ramaze](http://ramaze.net), [Happstack](http://happstack.com/) and [Sinatra](http://www.sinatrarb.com/).
 
 
-<br/>
-
-<p>
-<a href="http://en.wikipedia.org/wiki/Hatsune_Miku"><img src="https://github.com/nfjinjing/miku/raw/master/ita.jpg"/></a>
-</p>
diff --git a/src/Network/Miku/DSL.hs b/src/Network/Miku/DSL.hs
--- a/src/Network/Miku/DSL.hs
+++ b/src/Network/Miku/DSL.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE OverloadedStrings #-}
+
 module Network.Miku.DSL where
 
 import Control.Monad.Reader
@@ -59,6 +61,11 @@
   update - set_content_type _TextHtml
   update - set_body_bytestring - x
 
+
+json :: ByteString -> AppMonad
+json x = do
+  update - set_content_type "text/json"
+  update - set_body_bytestring - x
 
 captures :: AppMonadT [(ByteString, ByteString)]
 captures = ask ^ namespace miku_captures
