diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -26,6 +26,7 @@
 3. Import `Shared` module.
 4. Choose proper communication model (Only session, Broadcast, etc.).
 5. That's it.
+6. The only thing you need to keep in mind that one of records in your types should have name `commandValue`!
 
 ## Examples
 
@@ -35,6 +36,13 @@
   ```
   stack install --flag="front:examples"
   ```
+  
+  or 
+  
+  ```
+  cabal v2-build --flags examples
+  ```
+  
   - usage:
   ```
   cd examples/todo
@@ -60,26 +68,8 @@
 stack build
 ```
 
-For client (issue: faylang/fay#459):
-
-```
-cabal sandbox init
-cabal install # fay executable and libraries will be loaded
-export HASKELL_PACKAGE_SANDBOX=`echo .cabal-sandbox/*-packages.conf.d/`
-.cabal-sandbox/bin/fay \
-  --package fay-dom,fay-websockets \
-  --include shared,fay \
-  -o bundle.js fay/Client.hs
-```
-
-or
-
-```
-~/.local/bin/fay \
-  --package fay-dom,fay-websockets \
-  --include shared,fay \
-  -o bundle.js fay/Client.hs
-```
+For client: there is nothing special you need on client side. 
+`bundle.js` already had everything included.
 
 Please do not hesitate to open Issue to discuss your questions or use cases.
 
diff --git a/examples/todo/Shared.hs b/examples/todo/Shared.hs
--- a/examples/todo/Shared.hs
+++ b/examples/todo/Shared.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP                #-}
 {-# LANGUAGE DeriveDataTypeable #-}
 {-# LANGUAGE DeriveFunctor      #-}
 {-# LANGUAGE NoImplicitPrelude  #-}
@@ -10,81 +9,26 @@
 
 import           Data.Data
 import           Data.Text (Text)
-#ifdef FAY
-import           Client
-#endif
-import           Bridge
 
 type EntryId = Int
 
 data Visibility = All | Active | Completed
-#ifdef FAY
-  deriving (Typeable, Data)
-#else
   deriving (Show, Typeable, Data, Eq)
-#endif
 
 data Msg = Msg1 MsgCommon | Msg2 MsgEntry
-#ifdef FAY
-  deriving (Typeable, Data)
-#else
   deriving (Show, Typeable, Data)
-#endif
 
 data MsgCommon
   = Add
-  | UpdateField Text
+  | UpdateField { commandValue :: Text }
   | CheckAll Bool
   | DeleteComplete
   | ChangeVisibility Visibility
-#ifdef FAY
-  deriving (Typeable, Data)
-#else
   deriving (Show, Typeable, Data)
-#endif
 
-
 data MsgEntry
   = Editing EntryId Bool
-  | UpdateEntry EntryId Text
+  | UpdateEntry { entryId :: EntryId, commandValue :: Text }
   | Check EntryId Bool
   | Delete EntryId
-#ifdef FAY
-  deriving (Typeable, Data)
-#else
   deriving (Show, Typeable, Data)
-#endif
-
-
-#ifdef FAY
--- | Boilerplate that teaches client how to assign value into the message.
-update :: Msg -> Text -> Msg
--- FIXME: update (Update ix _oldval) newval = Update ix newval
-update (Msg1 msgCommon) x = Msg1 (updateMsgCommon msgCommon x)
-update (Msg2 msgEntry)  x = Msg2 (updateMsgEntry msgEntry x)
-
-updateMsgCommon :: MsgCommon -> Text -> MsgCommon
-updateMsgCommon Add _ = Add
-updateMsgCommon (UpdateField _) val2     = UpdateField val2
-updateMsgCommon (CheckAll _) val3 = case val3 of
-  "checked" -> CheckAll True
-  _         -> CheckAll False
-updateMsgCommon DeleteComplete _ = DeleteComplete
-updateMsgCommon (ChangeVisibility old) val4 = case val4 of
-  "All"       -> ChangeVisibility All
-  "Active"    -> ChangeVisibility Active
-  "Completed" -> ChangeVisibility Completed
-  _           -> ChangeVisibility old
-
-updateMsgEntry :: MsgEntry -> Text -> MsgEntry
-updateMsgEntry (Editing eid _old) val1 = case val1 of
-  "" -> Editing eid False
-  _  -> Editing eid True
-updateMsgEntry (UpdateEntry eid _) val2 = UpdateEntry eid val2
-updateMsgEntry (Check eid _) val3 = case val3 of
-  "" -> Check eid False
-  _  -> Check eid True
-updateMsgEntry (Delete eid) _ = Delete eid
-
-main = runWith update
-#endif
diff --git a/front.cabal b/front.cabal
--- a/front.cabal
+++ b/front.cabal
@@ -2,7 +2,7 @@
 --  see http://haskell.org/cabal/users-guide/
 
 name:                front
-version:             0.0.0.5
+version:             0.0.0.6
 synopsis:            A reactive frontend web framework
 description:         A reactive frontend web framework. See haskell-front.org for more details.
 homepage:            haskell-front.org
diff --git a/src/Text/Blaze/Front.hs b/src/Text/Blaze/Front.hs
--- a/src/Text/Blaze/Front.hs
+++ b/src/Text/Blaze/Front.hs
@@ -1,4 +1,5 @@
-{-# LANGUAGE FlexibleInstances, TypeSynonymInstances #-}
+{-# LANGUAGE FlexibleInstances    #-}
+{-# LANGUAGE TypeSynonymInstances #-}
 -- | BlazeMarkup is a markup combinator library. It provides a way to embed
 -- markup languages like HTML and SVG in Haskell in an efficient and convenient
 -- way, with a light-weight syntax.
@@ -66,14 +67,14 @@
     , contents
     ) where
 
-import Data.Int (Int32, Int64)
-import Data.Word (Word, Word32, Word64)
+import           Data.Int                  (Int32, Int64)
+import           Data.Word                 (Word32, Word64)
 
-import Data.Text (Text)
-import qualified Data.Text.Lazy as LT
+import           Data.Text                 (Text)
+import qualified Data.Text.Lazy            as LT
 
-import Prelude
-import Text.Blaze.Front.Internal
+import           Prelude
+import           Text.Blaze.Front.Internal
 
 -- | Class allowing us to use a single function for Markup values
 --
diff --git a/src/Text/Blaze/Front/Internal.hs b/src/Text/Blaze/Front/Internal.hs
--- a/src/Text/Blaze/Front/Internal.hs
+++ b/src/Text/Blaze/Front/Internal.hs
@@ -1,8 +1,13 @@
 
-{-# LANGUAGE OverloadedStrings, GeneralizedNewtypeDeriving, Rank2Types,
-             FlexibleInstances, ExistentialQuantification,
-             DeriveDataTypeable, MultiParamTypeClasses, DeriveFunctor,
-             FunctionalDependencies #-}
+{-# LANGUAGE DeriveDataTypeable         #-}
+{-# LANGUAGE DeriveFunctor              #-}
+{-# LANGUAGE ExistentialQuantification  #-}
+{-# LANGUAGE FlexibleInstances          #-}
+{-# LANGUAGE FunctionalDependencies     #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE MultiParamTypeClasses      #-}
+{-# LANGUAGE OverloadedStrings          #-}
+{-# LANGUAGE Rank2Types                 #-}
 -- | The BlazeMarkup core, consisting of functions that offer the power to
 -- generate custom markup elements. It also offers user-centric functions,
 -- which are exposed through 'Text.Blaze'.
@@ -68,26 +73,25 @@
 
 import           Control.Applicative
 
-import           Data.ByteString.Char8        (ByteString)
-import qualified Data.ByteString              as B
-import qualified Data.ByteString.Lazy         as BL
-import qualified Data.List                    as List
-import           Data.Monoid                  (Monoid, mempty)
-import           Data.Semigroup               (Semigroup, sconcat)
-import           Data.Text                    (Text)
-import qualified Data.Text                    as T
-import qualified Data.Text.Encoding           as T
-import qualified Data.Text.Lazy               as LT
-import           Data.Typeable                (Typeable)
+import qualified Data.ByteString       as B
+import           Data.ByteString.Char8 (ByteString)
+import qualified Data.ByteString.Lazy  as BL
+import qualified Data.List             as List
+import           Data.Semigroup        (sconcat)
+import           Data.Text             (Text)
+import qualified Data.Text             as T
+import qualified Data.Text.Encoding    as T
+import qualified Data.Text.Lazy        as LT
+import           Data.Typeable         (Typeable)
 
-import           GHC.Exts                     (IsString (..))
+import           GHC.Exts              (IsString (..))
 
-import           Prelude                      hiding (null)
+import           Prelude               hiding (null)
 
 import           Bridge
-import           Text.Blaze.Internal (StaticString(..), ChoiceString(..))
+import           Text.Blaze.Internal   (ChoiceString (..), StaticString (..))
 
-import           Unsafe.Coerce (unsafeCoerce)
+import           Unsafe.Coerce         (unsafeCoerce)
 
 
 -- | The core Markup datatype. The 'ev' type-parameter tracks the type of
@@ -426,15 +430,15 @@
 -- combinators.
 --
 external :: MarkupM ev a -> MarkupM ev a
-external (MapActions f x) = MapActions f (external x)
-external (OnEvent ev x) = OnEvent ev (external x)
-external (Content x) = Content $ External x
-external (Append x y) = Append (external x) (external y)
-external (Parent x y z i) = Parent x y z $ external i
-external (CustomParent x i) = CustomParent x $ external i
-external (AddAttribute x y z i) = AddAttribute x y z $ external i
+external (MapActions f x)           = MapActions f (external x)
+external (OnEvent ev x)             = OnEvent ev (external x)
+external (Content x)                = Content $ External x
+external (Append x y)               = Append (external x) (external y)
+external (Parent x y z i)           = Parent x y z $ external i
+external (CustomParent x i)         = CustomParent x $ external i
+external (AddAttribute x y z i)     = AddAttribute x y z $ external i
 external (AddCustomAttribute x y i) = AddCustomAttribute x y $ external i
-external x = x
+external x                          = x
 {-# INLINABLE external #-}
 
 -- | Take only the text content of an HTML tree.
