diff --git a/JsContracts.cabal b/JsContracts.cabal
--- a/JsContracts.cabal
+++ b/JsContracts.cabal
@@ -1,5 +1,5 @@
 Name:           JsContracts
-Version:        0.4
+Version:        0.5
 Cabal-Version:	>= 1.2.3
 Copyright:      Copyright (c) 2008-2009 Arjun Guha and Spiridon Eliopoulos
 License:        BSD3
@@ -20,8 +20,8 @@
   Hs-Source-Dirs:
     src
   Build-Depends:
-    base>=4, mtl>=1.1.0.1, parsec<3.0.0, pretty>=0.1, containers>=0.1, syb>=0.1,
-    WebBits>=0.15, filepath, directory
+    base>=4 && < 5, mtl>=1.1.0.1, parsec<3.0.0, pretty>=0.1, containers>=0.1, syb>=0.1,
+    WebBits==1.0, WebBits-Html==1.0, filepath, directory
   ghc-options:
     -fwarn-incomplete-patterns
   Extensions:     
@@ -39,8 +39,8 @@
   Main-Is: Jscc.hs
   Hs-Source-Dirs: src
   Build-Depends:
-    base>=4, mtl>=1.1.0.1, parsec<3.0.0, pretty>=0.1, containers>=0.1, syb>=0.1,
-    WebBits>=0.15
+    base>=4 && < 5, mtl>=1.1.0.1, parsec<3.0.0, pretty>=0.1, containers>=0.1, syb>=0.1,
+    WebBits==1.0, WebBits-Html==1.0
   ghc-options:
     -fwarn-incomplete-patterns
-  Extensions:     
+  Extensions:
diff --git a/src/BrownPLT/JavaScript/Contracts/Compiler.hs b/src/BrownPLT/JavaScript/Contracts/Compiler.hs
--- a/src/BrownPLT/JavaScript/Contracts/Compiler.hs
+++ b/src/BrownPLT/JavaScript/Contracts/Compiler.hs
@@ -42,7 +42,7 @@
   export n = TryStmt noPos 
     (IfSingleStmt noPos (InfixExpr noPos OpStrictNEq (var n) undef)
        (ExprStmt noPos $ AssignExpr noPos OpAssign
-          (DotRef noPos (ThisRef noPos) (Id noPos n)) 
+          (LDot noPos (ThisRef noPos) n) 
           (var n)))
     [CatchClause noPos (Id noPos "_") (EmptyStmt noPos)]
     Nothing
@@ -59,11 +59,12 @@
   window_namespace = 
            (DotRef noPos (VarRef noPos (Id noPos "window")) 
                          (Id noPos namespace))
-  decl = ExprStmt noPos $ AssignExpr noPos OpAssign window_namespace
+  decl = ExprStmt noPos $ AssignExpr noPos OpAssign 
+           (LDot noPos (VarRef noPos (Id noPos "window")) namespace)
            (ObjectLit noPos [])
   loop = ForInStmt noPos (ForInVar (Id noPos "ix")) 
            (VarRef noPos (Id noPos "impl")) $ ExprStmt noPos $
-             AssignExpr noPos OpAssign (BracketRef noPos window_namespace ix)
+             AssignExpr noPos OpAssign (LBracket noPos window_namespace ix)
                (BracketRef noPos (VarRef noPos (Id noPos "impl")) ix)
 
 wrapImplementation :: [ParsedStatement] -> [String] -> [ParsedStatement]
@@ -88,14 +89,14 @@
 makeExportStatements :: InterfaceItem -> [ParsedStatement]
 makeExportStatements (InterfaceExport id pos contract) = 
   [ ExprStmt noPos $ AssignExpr noPos OpAssign 
-      (DotRef noPos (ThisRef noPos) (Id noPos id))
+      (LDot noPos (ThisRef noPos) id)
       (compileContract id contract pos $ 
          DotRef noPos (VarRef noPos (Id noPos "impl")) (Id noPos id))
   ]
 -- allows external code to use "instanceof id"
 makeExportStatements (InterfaceInstance id _ _) =
   [ ExprStmt noPos $ AssignExpr noPos OpAssign 
-      (DotRef noPos (ThisRef noPos) (Id noPos id))
+      (LDot noPos (ThisRef noPos) id)
       (DotRef noPos (VarRef noPos (Id noPos "impl")) (Id noPos id))
   ]
 makeExportStatements _ = [ ]
@@ -103,7 +104,7 @@
 exportRelease :: InterfaceItem -> ParsedStatement
 exportRelease (InterfaceExport id _ contract) = 
   ExprStmt noPos $ AssignExpr noPos OpAssign 
-    (DotRef noPos (ThisRef noPos) (Id noPos id))
+    (LDot noPos (ThisRef noPos) id)
     (DotRef noPos (VarRef noPos (Id noPos "impl")) (Id noPos id))
 exportRelease _ = error "exportRelease: expected InterfaceItem"
 
diff --git a/src/BrownPLT/JavaScript/Contracts/Template.hs b/src/BrownPLT/JavaScript/Contracts/Template.hs
--- a/src/BrownPLT/JavaScript/Contracts/Template.hs
+++ b/src/BrownPLT/JavaScript/Contracts/Template.hs
@@ -39,7 +39,7 @@
   | StatementTemplate [ParsedStatement]
 
 exprTemplate :: String -> JavaScriptTemplate
-exprTemplate str = case parse parseAssignExpr "expression template" str of
+exprTemplate str = case parse assignExpr "expression template" str of
   Left err -> error ("Error parsing template: " ++ show err ++ 
                      "; template:\n\n" ++ str)
   Right expr -> ExpressionTemplate expr
