diff --git a/MPS/Snippets.hs b/MPS/Snippets.hs
--- a/MPS/Snippets.hs
+++ b/MPS/Snippets.hs
@@ -23,6 +23,7 @@
 import Text.Pandoc
 import qualified Codec.Binary.UTF8.String as Codec
 import System.Directory
+import Text.ParserCombinators.Parsec hiding (parse)
 
 import Prelude hiding ((.), sum, product, maximum, minimum, 
   foldl, foldr, foldl1, foldr1, concat, concatMap, and, or, any, all, elem)
@@ -335,6 +336,20 @@
 -- String
 lower = map toLower
 upper = map toUpper
+
+-- XML
+unicode_char :: Parser Char
+unicode_char = do
+  char '&'
+  char '#'
+  word <- many1 digit
+  char ';'
+  return $ chr (read word)
+
+unescape_parser :: Parser String
+unescape_parser = many (unicode_char <|> anyChar)
+
+unescape_unicode_xml s = parse unescape_parser s
 
 -- IO
 ls s = getDirectoryContents s <.> (\\ [".", ".."])
diff --git a/changelog.markdown b/changelog.markdown
--- a/changelog.markdown
+++ b/changelog.markdown
@@ -1,5 +1,15 @@
-0.0.0.1
---------
+2008.9.19
+---------
+
+* Change version system
+* Add unescape_unicode_xml helper
+
+### Fix:
+
+* relax directory version
+
+0.0.0.1.1
+---------
 
 relax pandoc version
 
diff --git a/mps.cabal b/mps.cabal
--- a/mps.cabal
+++ b/mps.cabal
@@ -1,5 +1,5 @@
 Name:                 mps
-Version:              0.0.0.1.1
+Version:              2008.9.19
 Build-type: 		      Simple
 Synopsis:             message passing style helpers
 Description:          message passing style helpers
@@ -14,5 +14,5 @@
 homepage:             http://github.com/nfjinjing/mps/
 
 library
-  build-depends: base, containers, array, parallel, fgl, QuickCheck, time, bytestring >= 0.9.1.2, pandoc >= 0.46, regexpr >= 0.2.9, parsec >= 2.1.0, utf8-string >= 0.3.1, directory >= 1.0.0.1
+  build-depends: base, containers, array, parallel, fgl, QuickCheck, time, bytestring >= 0.9.1.2, pandoc >= 0.46, regexpr >= 0.2.9, parsec >= 2.1.0, utf8-string >= 0.3.1, directory
   exposed-modules: MPS, MPS.Snippets, MPS.Hack.Dot
