diff --git a/hplayground.cabal b/hplayground.cabal
--- a/hplayground.cabal
+++ b/hplayground.cabal
@@ -1,51 +1,51 @@
-name: hplayground
-version: 0.1.0.4
-cabal-version: >=1.8
-build-type: Simple
-license: BSD3
-license-file: LICENSE
-maintainer: agocorona@gmail.com
-stability: experimental
-bug-reports: https://github.com/agocorona/hplayground/issues
-synopsis: a client-side haskell framework that compiles to javascript with the haste compiler
-description: Formlets with reactive effects in the client side. See homepage
-
-homepage:    https://github.com/agocorona/hplayground
-category: Web
-author: Alberto Gómez Corona
-data-dir: ""
-extra-source-files: src/Main.hs, src/Main.html
-
-source-repository head
-    type: git
-    location: http://github.com/agocorona/hplayground
-
-Flag Haste-inst
-  Description: either if it is being compiled with haste-inst or with cabal
-  Default: False
-
-
-library
-   hs-source-dirs: src .
-   exposed-modules: Haste.HPlay.View  Haste.HPlay.Cell
-   if flag(haste-inst)
-    build-depends: base >4.0 && <5, transformers -any,
-                   containers -any, data-default -any, monads-tf,
-                   haste-lib -any, haste-perch -any
-   else
-    build-depends: base >4.0 && <5, transformers -any,
-                   containers -any, data-default -any, monads-tf,
-                   haste-compiler -any, haste-perch -any
-
-
-
-
---executable Main
---    build-depends: base >4.0 && <5, transformers -any, monads-tf -any,
---                   containers -any, data-default -any,
---                   haste-lib -any, haste-perch
---    main-is: Main.hs
---    buildable: True
---    hs-source-dirs: src .
-
-
+name: hplayground
+version: 0.1.0.5
+cabal-version: >=1.8
+build-type: Simple
+license: BSD3
+license-file: LICENSE
+maintainer: agocorona@gmail.com
+stability: experimental
+bug-reports: https://github.com/agocorona/hplayground/issues
+synopsis: a client-side haskell framework that compiles to javascript with the haste compiler
+description: Formlets with reactive effects in the client side. See homepage
+
+homepage:    https://github.com/agocorona/hplayground
+category: Web
+author: Alberto Gómez Corona
+data-dir: ""
+extra-source-files: src/Main.hs, src/Main.html
+
+source-repository head
+    type: git
+    location: http://github.com/agocorona/hplayground
+
+Flag Haste-inst
+  Description: either if it is being compiled with haste-inst or with cabal
+  Default: False
+
+
+library
+   hs-source-dirs: src .
+   exposed-modules: Haste.HPlay.View  Haste.HPlay.Cell
+   if flag(haste-inst)
+    build-depends: base >4.0 && <5, transformers -any,
+                   containers -any, data-default -any, monads-tf,
+                   haste-lib -any, haste-perch -any
+   else
+    build-depends: base >4.0 && <5, transformers -any,
+                   containers -any, data-default -any, monads-tf,
+                   haste-compiler -any, haste-perch -any
+
+
+
+
+--executable Main
+--    build-depends: base >4.0 && <5, transformers -any, monads-tf -any,
+--                   containers -any, data-default -any,
+--                   haste-lib -any, haste-perch
+--    main-is: Main.hs
+--    buildable: True
+--    hs-source-dirs: src .
+
+
diff --git a/src/Haste/HPlay/Cell.hs b/src/Haste/HPlay/Cell.hs
--- a/src/Haste/HPlay/Cell.hs
+++ b/src/Haste/HPlay/Cell.hs
@@ -1,70 +1,73 @@
------------------------------------------------------------------------------
---
--- Module      :  Cell
--- Copyright   :
--- License     :  BSD3
---
--- Maintainer  :  agocorona@gmail.com
--- Stability   :  experimental
--- Portability :
---
--- |
---
------------------------------------------------------------------------------
-
-module Haste.HPlay.Cell  where
-import Haste.HPlay.View
-import Control.Monad.IO.Class
-import Haste
-import Data.Typeable
-import Unsafe.Coerce
-
-
-data Cell  a = Cell { mk :: Maybe a -> Widget a
-                    , setter ::  a -> IO()
-                    , getter ::  IO a}
-
---instance Functor Cell where
---  fmap f cell = cell{setter= \c x ->  c .= f x, getter = \cell -> get cell >>= return . f}
-
-
-
-boxCell id = Cell{ mk= \mv -> getParam (Just id) "text" mv
-                , setter= \ x -> withElem id $ \e -> setProp e "value" (show1 x)
-                , getter=  withElem id $ \e -> getProp e "value" >>= return . read1}
-     where
-     show1 x= if typeOf x== typeOf (undefined :: String)
-                                then unsafeCoerce x
-                                else show x
-     read1 s= if typeOf s== typeOf (undefined :: String)
-                                then unsafeCoerce s
-                                else read s
-
-(.=) cell x = liftIO $ (setter cell )  x
-
-get cell = liftIO $ getter cell
-
-
-(..=) cell cell'= get cell' >>= (.=) . cell
-
-infixr 0 .=, ..=
-
--- experimental: to permit cell arithmetic
-
-instance Num a => Num (Cell a) where
-  c + c'= Cell undefined undefined  $
-            do r1 <- get c
-               r2 <- get c'
-               return $ r1 + r2
-
-  c * c'= Cell undefined undefined $
-            do r1 <- get c
-               r2 <- get c'
-               return $ r1 * r2
-
-  abs c= c{getter=  get c >>= return . abs}
-
-  signum c= c{getter=  get c >>= return . signum}
-
-  fromInteger i= Cell  undefined undefined  . return $ fromInteger i
-
+-----------------------------------------------------------------------------
+--
+-- Module      :  Cell
+-- Copyright   :
+-- License     :  BSD3
+--
+-- Maintainer  :  agocorona@gmail.com
+-- Stability   :  experimental
+-- Portability :
+--
+-- |
+--
+-----------------------------------------------------------------------------
+
+module Haste.HPlay.Cell  where
+import Haste.HPlay.View
+import Control.Monad.IO.Class
+import Haste
+import Data.Typeable
+import Unsafe.Coerce
+
+
+data Cell  a = Cell { mk :: Maybe a -> Widget a
+                    , setter ::  a -> IO()
+                    , getter ::  IO a}
+
+--instance Functor Cell where
+--  fmap f cell = cell{setter= \c x ->  c .= f x, getter = \cell -> get cell >>= return . f}
+
+
+
+boxCell id = Cell{ mk= \mv -> getParam (Just id) "text" mv
+                 , setter= \ x -> withElem id $ \e -> setProp e "value" (show1 x)
+                 , getter= get}
+     where
+     show1 x= if typeOf x== typeOf (undefined :: String)
+                                then unsafeCoerce x
+                                else show x
+
+     get= r where r= withElem id $ \e -> getProp e "value" >>= return . read
+                  read1 s= if typeOf(typeIO r) /= typeOf (undefined :: String)
+                                then read s
+                                else unsafeCoerce s
+                  typeIO :: IO a -> a
+                  typeIO = undefined
+
+(.=) cell x = liftIO $ (setter cell )  x
+
+get cell = liftIO $ getter cell
+
+(..=) cell cell'= get cell' >>= (.=) . cell
+
+infixr 0 .=, ..=
+
+-- experimental: to permit cell arithmetic
+
+instance Num a => Num (Cell a) where
+  c + c'= Cell undefined undefined  $
+            do r1 <- get c
+               r2 <- get c'
+               return $ r1 + r2
+
+  c * c'= Cell undefined undefined $
+            do r1 <- get c
+               r2 <- get c'
+               return $ r1 * r2
+
+  abs c= c{getter=  get c >>= return . abs}
+
+  signum c= c{getter=  get c >>= return . signum}
+
+  fromInteger i= Cell  undefined undefined  . return $ fromInteger i
+
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -220,7 +220,8 @@
 
 mouse :: Widget ()
 mouse= do
-    wraw (div  ! style "height:100px;background-color:lightgreen;position:relative" $ h1 "Mouse events here")
+    wraw (div  ! style "height:100px;background-color:lightgreen;position:relative"
+               $ h1 "Mouse events here")
                             `fire` OnMouseOut
                             `fire` OnMouseOver
                             `fire` OnMouseDown
