diff --git a/Generator/Fay.hs b/Generator/Fay.hs
new file mode 100644
--- /dev/null
+++ b/Generator/Fay.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE OverloadedStrings #-}
+module Generator.Fay (fay) where
+import AST
+import Text.Shakespeare.Text hiding (toText)
+import qualified Data.Text as T
+import Data.List
+import Data.Maybe
+import Data.Char
+import Generator.Common
+
+
+trPathPiece :: PathPiece -> String
+trPathPiece pp = case pp of
+    PathText pt -> "PathText " ++ show pt
+    PathId pi   -> "PathId " ++ show pi
+
+trHandlerType :: HandlerType -> String
+trHandlerType ht = case ht of
+    PutHandler -> "PutHandler"
+    GetHandler -> "GetHandler"
+    PostHandler -> "PostHandler"
+    DeleteHandler -> "DeleteHandler"
+
+trHandler :: Handler -> String
+trHandler h = T.unpack $(codegenFile "codegen/fay-handler.cg")
+
+trField :: Field -> String
+trField f = T.unpack $(codegenFile "codegen/fay-field.cg")
+
+trEntity :: Entity -> String
+trEntity e = T.unpack $(codegenFile "codegen/fay-entity.cg")
+
+trClass :: Class -> String
+trClass c = T.unpack $(codegenFile "codegen/fay-class.cg")
+
+trEnum  :: EnumType -> String
+trEnum e = T.unpack $(codegenFile "codegen/fay-enum.cg")
+
+trRoute:: Route -> String
+trRoute r = T.unpack $(codegenFile "codegen/fay-route.cg")
+
+fay :: Module -> String
+fay m = T.unpack $(codegenFile "codegen/fay-header.cg")
+    
+
+
diff --git a/yesod-dsl.cabal b/yesod-dsl.cabal
--- a/yesod-dsl.cabal
+++ b/yesod-dsl.cabal
@@ -1,5 +1,5 @@
 name:           yesod-dsl
-version:        0.1.1.13
+version:        0.1.1.14
 license:        BSD3
 license-file:   LICENSE
 author:         Tero Laitinen 
@@ -43,6 +43,7 @@
                    Generator.Require
                    Generator.Cabal
                    Generator.EsqueletoInstances
+                   Generator.Fay
                    Obfuscate
                    SyncFile
                    ExpandMacros
