diff --git a/bird.cabal b/bird.cabal
--- a/bird.cabal
+++ b/bird.cabal
@@ -1,5 +1,5 @@
 Name:                 bird
-Version:              0.0.11
+Version:              0.0.12
 Build-type:           Simple
 Synopsis:             A simple, sinatra-inspired web framework.
 Description:          Bird is a hack-compatible framework for simple websites.
diff --git a/readme.markdown b/readme.markdown
--- a/readme.markdown
+++ b/readme.markdown
@@ -58,15 +58,32 @@
       name <- param "name"
       body $ "Greetings, " ++ (maybe "Jedi!" id name)
 
-now:
+now recompile your app and start it flying:
 
-    λ curl http://localhost:3000/force/Han/Chewie
+    λ bird nest  
+    λ bird fly & 
+    
+    λ curl -i http://localhost:3000/force/Han/Chewie
+        
+        HTTP/1.1 200 OK
+        Connection: close
+        Content-Type: text/html
+        Date: Sat, 31 Jul 2010 14:07:17 GMT
+        Server: Happstack/0.5.0.2
+
         May the force be with you Han, Chewie!
 
-    λ curl http://localhost:3000/droids
-        Nothing to see here. Move along.
+    λ curl -i http://localhost:3000/droids
+        
+        HTTP/1.1 404 Not Found
+        Connection: close
+        Content-Type: text/html
+        Date: Sat, 31 Jul 2010 14:08:35 GMT
+        Server: Happstack/0.5.0.2
 
+        These aren't the droids you're looking for. Move along.
 
+
 ## API
 
 You have four functions to implement: get, post, put, and delete. They each accept a Bird Request. 
@@ -80,8 +97,16 @@
     body :: String -> BirdRouter ()
     -- takes a string and sets the Http Response body to whatever the string contained.
 
-    status :: Integer -> BirdRouter ()
+    status :: Integer -> BirdResponder ()
     -- takes a number, and sets the HTTP Reponse header "Status" to that number.
+
+    mime :: String -> BirdResponder ()
+    -- sets the mime type to whatever you provide
+    -- ex: get [] = body "Hello World" >> mime "text/plain"
+
+    header :: String -> String -> BirdResponder ()
+    -- creates/updates a header
+    -- ex: get [] = body "Hello World" >> header "X-Powered-By" "BIRD!"
 
 ## Notes
 
diff --git a/src/Bird/BirdResponder.hs b/src/Bird/BirdResponder.hs
--- a/src/Bird/BirdResponder.hs
+++ b/src/Bird/BirdResponder.hs
@@ -1,10 +1,4 @@
-module Bird.BirdResponder(
-  BirdResponder
-, runBirdResponder
-, body
-, status
-, param
-) where
+module Bird.BirdResponder where
 
 import Control.Monad.State
 import Control.Monad.Reader
@@ -12,6 +6,7 @@
 import Data.Maybe
 import Bird.Reply
 import Bird.Request
+import qualified Data.Map as Hash
 
 type BirdResponder = StateT Reply (ReaderT Request IO)
 
@@ -29,3 +24,9 @@
 param paramName = do
   request <- ask
   return $ maybe Nothing id (lookup paramName $ params request)
+
+mime m = header "Content-Type" m
+
+header k v = do
+  reply <- get
+  put $ reply { replyHeaders = Hash.insert k v $ replyHeaders reply }
diff --git a/src/Bird/Reply.hs b/src/Bird/Reply.hs
--- a/src/Bird/Reply.hs
+++ b/src/Bird/Reply.hs
@@ -5,11 +5,10 @@
 
 data Reply = 
   Reply {
-    replyStatus   :: Int,
-    replyHeaders  :: Hash.Map String String,
-    replyBody     :: String,
-    replyMime     :: String
+    replyStatus   :: Int
+  , replyHeaders  :: Hash.Map String String
+  , replyBody     :: String
   } deriving (Show)
 
 instance Default Reply where
-  def = Reply { replyMime = "text/html", replyBody = "", replyStatus = 200, replyHeaders = Hash.empty }
+  def = Reply { replyBody = "", replyStatus = 200, replyHeaders = Hash.insert "Content-Type" "text/html" Hash.empty }
diff --git a/src/Bird/Translator/Hack.hs b/src/Bird/Translator/Hack.hs
--- a/src/Bird/Translator/Hack.hs
+++ b/src/Bird/Translator/Hack.hs
@@ -15,9 +15,11 @@
   fromBirdReply r = 
     Hack.Response {
       Hack.status = replyStatus r,
-      Hack.headers = [("Content-Type", replyMime r)] ++ (Hash.toList $ replyHeaders r),
+      Hack.headers = (Hash.toList $ Hash.insertWith insertUnlessPresent "Content-Type" "text/html" $ replyHeaders r),
       Hack.body = pack $ replyBody r
     }
+    where
+      insertUnlessPresent _ oldValue = oldValue
 
 instance BirdRequestTranslator Hack.Env where
   toBirdRequest e = 
@@ -26,6 +28,7 @@
     , path = split '/' $ Hack.pathInfo e
     , params = parseQueryString $ Hack.queryString e
     }
+
 
 hackRequestMethodToBirdRequestMethod rm = 
   case rm of 
