diff --git a/elm-export.cabal b/elm-export.cabal
--- a/elm-export.cabal
+++ b/elm-export.cabal
@@ -1,5 +1,5 @@
 name: elm-export
-version: 0.3.0.2
+version: 0.4.0.0
 cabal-version: >=1.10
 build-type: Simple
 license: OtherLicense
@@ -47,7 +47,7 @@
         base >=4.8.2.0 && <4.9,
         bytestring >=0.10.6.0 && <0.11,
         containers >=0.5.6.2 && <0.6,
-        elm-export >=0.3.0.2 && <0.4,
+        elm-export >=0.4.0.0 && <0.5,
         hspec >=2.2.2 && <2.3,
         hspec-core >=2.2.2 && <2.3,
         quickcheck-instances >=0.3.12 && <0.4,
diff --git a/src/Elm/Decoder.hs b/src/Elm/Decoder.hs
--- a/src/Elm/Decoder.hs
+++ b/src/Elm/Decoder.hs
@@ -19,7 +19,7 @@
 
 render (DataType d _) = return $ "decode" ++ d
 
-render (Record n t) = printf "  Json.Decode.succeed %s\n%s" n <$> render t
+render (Record n t) = printf "    Json.Decode.succeed %s\n%s" n <$> render t
 
 render (Product (Primitive "List") (Primitive "Char")) = render (Primitive "String")
 
@@ -34,7 +34,7 @@
 
 render (Selector n t) =
   do fieldModifier <- asks fieldLabelModifier
-     printf "    |: (\"%s\" := %s)" (fieldModifier n) <$> render t
+     printf "        |: (\"%s\" := %s)" (fieldModifier n) <$> render t
 
 render (Tuple2 x y) =
     do bodyX <- render x
diff --git a/src/Elm/Encoder.hs b/src/Elm/Encoder.hs
--- a/src/Elm/Encoder.hs
+++ b/src/Elm/Encoder.hs
@@ -15,7 +15,7 @@
 render (DataType d _) = return $ "encode" ++ d
 
 render (Record _ t) =
-  printf "\n  Json.Encode.object\n    [ %s\n    ]" <$> render t
+  printf "\n    Json.Encode.object\n        [ %s\n        ]" <$> render t
 
 render (Product (Primitive "List") (Primitive "Char")) =
   render (Primitive "String")
@@ -39,7 +39,7 @@
 render (Product x y) =
   do bodyX <- render x
      bodyY <- render y
-     return $ printf "%s\n    , %s" bodyX bodyY
+     return $ printf "%s\n        , %s" bodyX bodyY
 
 render (Selector n t) =
   do fieldModifier <- asks fieldLabelModifier
diff --git a/src/Elm/Record.hs b/src/Elm/Record.hs
--- a/src/Elm/Record.hs
+++ b/src/Elm/Record.hs
@@ -8,10 +8,10 @@
 render :: ElmTypeExpr -> Reader Options String
 
 render (TopLevel (DataType dataTypeName record@(Record _ _))) =
-  printf "type alias %s =\n  { %s\n  }" dataTypeName <$> render record
+  printf "type alias %s =\n    { %s\n    }" dataTypeName <$> render record
 
 render (TopLevel (DataType d s@(Sum _ _))) =
-  printf "type %s\n  = %s" d <$> render s
+  printf "type %s\n    = %s" d <$> render s
 
 render (DataType d _) = return d
 render (Primitive s) = return s
@@ -19,7 +19,7 @@
 render (Sum x y) =
     do bodyX <- render x
        bodyY <- render y
-       return $ printf "%s\n  | %s" bodyX bodyY
+       return $ printf "%s\n    | %s" bodyX bodyY
 
 render (Field t) = render t
 
@@ -60,7 +60,7 @@
 render (Record n (Product x y)) =
   do bodyX <- render (Record n x)
      bodyY <- render (Record n y)
-     return $ printf "%s\n  , %s" bodyX bodyY
+     return $ printf "%s\n    , %s" bodyX bodyY
 
 render (Record _ s@(Selector _ _)) = render s
 
diff --git a/test/ExportSpec.hs b/test/ExportSpec.hs
--- a/test/ExportSpec.hs
+++ b/test/ExportSpec.hs
@@ -4,9 +4,6 @@
 
 module ExportSpec where
 
--- import           Data.Aeson
--- import           Data.ByteString      hiding (readFile)
--- import qualified Data.ByteString.Lazy as LBS
 import           Data.Char
 import           Data.Map
 import           Data.Proxy
@@ -95,11 +92,6 @@
          (defaultOptions {fieldLabelModifier = withPrefix "comment"})
          (Proxy :: Proxy Comment)
          "test/CommentDecoderWithOptions.elm"
-     it "toElmDecoderSourceWithOptions Position" $
-       shouldMatchDecoderSource
-         (defaultOptions {fieldLabelModifier = withPrefix "position"})
-         (Proxy :: Proxy Position)
-         "test/PositionDecoderWithOptions.elm"
 
 toElmEncoderSpec :: Hspec.Spec
 toElmEncoderSpec =
@@ -112,10 +104,6 @@
        shouldMatchEncoderSource defaultOptions
                                 (Proxy :: Proxy Comment)
                                 "test/CommentEncoder.elm"
-     it "toElmEncoderSource Position" $
-       shouldMatchEncoderSource defaultOptions
-                                (Proxy :: Proxy Position)
-                                "test/PositionEncoder.elm"
      it "toElmEncoderSourceWithOptions Post" $
        shouldMatchEncoderSource
          (defaultOptions {fieldLabelModifier = withPrefix "post"})
@@ -126,11 +114,6 @@
          (defaultOptions {fieldLabelModifier = withPrefix "comment"})
          (Proxy :: Proxy Comment)
          "test/CommentEncoderWithOptions.elm"
-     it "toElmEncoderSourceWithOptions Position" $
-       shouldMatchEncoderSource
-         (defaultOptions {fieldLabelModifier = withPrefix "position"})
-         (Proxy :: Proxy Position)
-         "test/PositionEncoderWithOptions.elm"
 
 shouldMatchTypeSource
   :: ElmType a
@@ -151,7 +134,7 @@
   shouldMatchFile . printf outputWrapping $ toElmEncoderSourceWith options x
 
 outputWrapping :: String
-outputWrapping = "module Main (..) where\n\n\n%s\n"
+outputWrapping = "module Main exposing (..)\n\n\n%s\n"
 
 shouldMatchFile :: String -> FilePath -> IO ()
 shouldMatchFile actual fileExpected =
@@ -164,5 +147,3 @@
 
 withPrefix :: String -> String -> String
 withPrefix prefix s = prefix ++ initCap s
-
-k = hspec spec
