diff --git a/src/Yesod/Form/Bootstrap4.hs b/src/Yesod/Form/Bootstrap4.hs
--- a/src/Yesod/Form/Bootstrap4.hs
+++ b/src/Yesod/Form/Bootstrap4.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE DeriveAnyClass    #-}
 {-# LANGUAGE NamedFieldPuns    #-}
 {-# LANGUAGE NoImplicitPrelude #-}
 {-# LANGUAGE OverloadedStrings #-}
@@ -74,11 +73,11 @@
 addGO (ColSm a) (ColSm b) = ColSm (a+b)
 addGO (ColMd a) (ColMd b) = ColMd (a+b)
 addGO (ColLg a) (ColLg b) = ColLg (a+b)
-addGO a b     | a > b = addGO b a
-addGO (ColXs a) other = addGO (ColSm a) other
-addGO (ColSm a) other = addGO (ColMd a) other
-addGO (ColMd a) other = addGO (ColLg a) other
-addGO _         _     = error "Yesod.Form.Bootstrap.addGO: never here"
+addGO a b                 | a > b = addGO b a
+addGO (ColXs a) other     = addGO (ColSm a) other
+addGO (ColSm a) other     = addGO (ColMd a) other
+addGO (ColMd a) other     = addGO (ColLg a) other
+addGO _         _         = error "Yesod.Form.Bootstrap.addGO: never here"
 
 -- | The layout used for the bootstrap form.
 data BootstrapFormLayout = BootstrapBasicForm | BootstrapInlineForm |
@@ -98,7 +97,7 @@
         widget = [whamlet|
             #{fragment}
             $forall view <- views
-              <div .form-group :isJust $ fvErrors view:.has-danger>
+              <div .form-group :isJust (fvErrors view):.has-danger>
                 $case formLayout
                   $of BootstrapBasicForm
                     $if fvId view /= bootstrapSubmitId
@@ -112,12 +111,19 @@
                     ^{helpWidget view}
                   $of BootstrapHorizontalForm labelOffset labelSize inputOffset inputSize
                     $if fvId view /= bootstrapSubmitId
-                      <label .form-control-label .#{toOffset labelOffset} .#{toColumn labelSize} for=#{fvId view}>#{fvLabel view}
-                      <div .#{toOffset inputOffset} .#{toColumn inputSize}>
-                        ^{fvInput view}
-                        ^{helpWidget view}
+                      <div .row>
+                        <label
+                          .form-control-label
+                          .#{toOffset labelOffset}
+                          .#{toColumn labelSize}
+                          for=#{fvId view}>#{fvLabel view}
+                        <div .#{toOffset inputOffset} .#{toColumn inputSize}>
+                          ^{fvInput view}
+                          ^{helpWidget view}
                     $else
-                      <div .#{toOffset (addGO inputOffset (addGO labelOffset labelSize))} .#{toColumn inputSize}>
+                      <div
+                        .#{toOffset (addGO inputOffset (addGO labelOffset labelSize))}
+                        .#{toColumn inputSize}>
                         ^{fvInput view}
                         ^{helpWidget view}
                 |]
diff --git a/yesod-form-bootstrap4.cabal b/yesod-form-bootstrap4.cabal
--- a/yesod-form-bootstrap4.cabal
+++ b/yesod-form-bootstrap4.cabal
@@ -1,9 +1,11 @@
--- This file has been generated from package.yaml by hpack version 0.17.1.
+-- This file has been generated from package.yaml by hpack version 0.20.0.
 --
 -- see: https://github.com/sol/hpack
+--
+-- hash: 6e5c9578eafcff708e739d119bf37446d108c64b8a85c4f3acbc39779cf8804e
 
 name:           yesod-form-bootstrap4
-version:        0.1.0.2
+version:        0.1.1
 synopsis:       renderBootstrap4
 category:       Web
 homepage:       https://github.com/ncaq/yesod-form-bootstrap4#readme
@@ -23,9 +25,11 @@
   hs-source-dirs:
       src
   build-depends:
-      base >= 4.7 && < 5
+      base >=4.7 && <5
     , classy-prelude-yesod
     , yesod-form
   exposed-modules:
       Yesod.Form.Bootstrap4
+  other-modules:
+      Paths_yesod_form_bootstrap4
   default-language: Haskell2010
