diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,11 +1,20 @@
 # Revision history for atomic-css
 
+## atomic-css 0.2.0
+
+* Added Html.Tag
+* refactored overflow, whiteSpace, instead of clip and scroll
+* maxWidth, maxHeight
+* raw is inline
+* change default exports
+
 ## atomic-css 0.1.0
 
-This package renamed to atomic-css with a focus on css utilities. View, Url and other Hyperbole-specific types moved to Hyperbole. Still provides an Html monad
+Renamed library to atomic-css with a focus on css utilities. View, Url and other Hyperbole-specific types moved to Hyperbole. Still provides an Html monad
+
 Major rewrite of Library and API
   * New interface with operators: (@) for attributes, (~) to utilities
-  * Defining custom CSS and new utilities is more intuitive
+  * Defining custom CSS selectors and new utilities is more intuitive
 
 ## web-view 0.7.0
 
@@ -28,7 +37,6 @@
 * extClass to add external css class
 * inline elements
 * Url: no longer lowercases automatically. Show/Read instance
-* 
 
 ## web-view 0.4.0
 
diff --git a/atomic-css.cabal b/atomic-css.cabal
--- a/atomic-css.cabal
+++ b/atomic-css.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           atomic-css
-version:        0.1.0
+version:        0.2.0
 synopsis:       Type-safe, composable CSS utility functions. Inspired by Tailwindcss and Elm-UI
 description:    Type-safe, composable CSS utility functions. Inspired by Tailwindcss and Elm-UI . See documentation for the @Web.Atomic@ module below
 category:       Web
diff --git a/src/Web/Atomic.hs b/src/Web/Atomic.hs
--- a/src/Web/Atomic.hs
+++ b/src/Web/Atomic.hs
@@ -22,14 +22,15 @@
   , Html
   , el
   , tag
+  , tag'
   , none
   , raw
   , text
 
-  -- ** Layout
+    -- ** Layout
   , module Web.Atomic.Html.Tag
 
-  -- ** Rendering
+    -- ** Rendering
   , renderText
   , renderLazyText
   , renderLazyByteString
@@ -37,9 +38,9 @@
 
 import Web.Atomic.CSS
 import Web.Atomic.Html
+import Web.Atomic.Html.Tag
 import Web.Atomic.Render
 import Web.Atomic.Types
-import Web.Atomic.Html.Tag
 
 
 -- TODO: update readme
diff --git a/src/Web/Atomic/CSS.hs b/src/Web/Atomic/CSS.hs
--- a/src/Web/Atomic/CSS.hs
+++ b/src/Web/Atomic/CSS.hs
@@ -45,6 +45,7 @@
   , right
   , left
   , overflow
+  , Overflow (..)
 
     -- ** Flexbox
     -- $flexbox
@@ -119,7 +120,7 @@
   , Property
   , Declaration (..)
   , Style
-  , ToStyle (..)
+  , ToStyle
   , PropertyStyle (..)
   , None (..)
   , Auto (..)
@@ -188,7 +189,7 @@
 
 {- $flexbox
 
-We can intuitively create layouts by combining of 'flexRow', 'flexCol', 'grow', and 'stack'
+We can intuitively create layouts by combining 'flexRow', 'flexCol', 'grow', and 'stack'
 
 @
 holygrail = do
diff --git a/src/Web/Atomic/CSS/Layout.hs b/src/Web/Atomic/CSS/Layout.hs
--- a/src/Web/Atomic/CSS/Layout.hs
+++ b/src/Web/Atomic/CSS/Layout.hs
@@ -9,7 +9,7 @@
 Stability:   experimental
 Portability: portable
 
-We can intuitively create layouts by combining of 'flexRow', 'flexCol', 'grow', and 'stack'
+We can intuitively create layouts by combining 'flexRow', 'flexCol', 'grow', and 'stack'
 
 
 @
@@ -38,8 +38,6 @@
 >    el " - " ~ grow
 >    el "Bottom"
 -}
-
-
 flexCol :: (Styleable h) => CSS h -> CSS h
 flexCol =
   utility
@@ -48,6 +46,7 @@
     , "flex-direction" :. style Column
     ]
 
+
 {- | Lay out children in a row. See 'Web.Atomic.Html.Tag.row'
 
 > el ~ flexRow $ do
@@ -64,8 +63,6 @@
     ]
 
 
-
-
 -- | Grow to fill the available space in the parent 'flexRow' or 'flexCol'
 grow :: (Styleable h) => CSS h -> CSS h
 grow = utility "grow" ["flex-grow" :. "1"]
@@ -226,9 +223,10 @@
   deriving (Show, ToClassName, ToStyle)
 
 
-visibility :: Styleable h => Visibility -> CSS h -> CSS h
+visibility :: (Styleable h) => Visibility -> CSS h -> CSS h
 visibility v = utility ("vis" -. v) ["visibility" :. style v]
 
+
 {- | Set to specific width
 
 > el ~ width 100 $ "100px"
@@ -236,11 +234,11 @@
 > el ~ width (Pct 50) $ "50pct"
 -}
 width :: (Styleable h) => Length -> CSS h -> CSS h
-width n = utility ("w" -. n) [ "width" :. style n ]
+width n = utility ("w" -. n) ["width" :. style n]
 
 
 height :: (Styleable h) => Length -> CSS h -> CSS h
-height n = utility ("h" -. n) [ "height" :. style n ]
+height n = utility ("h" -. n) ["height" :. style n]
 
 
 -- | Allow width to grow to contents but not shrink any smaller than value
@@ -249,12 +247,22 @@
   utility ("mw" -. n) ["min-width" :. style n]
 
 
+maxWidth :: (Styleable h) => Length -> CSS h -> CSS h
+maxWidth n =
+  utility ("mxw" -. n) ["max-width" :. style n]
+
+
 -- | Allow height to grow to contents but not shrink any smaller than value
 minHeight :: (Styleable h) => Length -> CSS h -> CSS h
 minHeight n =
   utility ("mh" -. n) ["min-height" :. style n]
 
 
+maxHeight :: (Styleable h) => Length -> CSS h -> CSS h
+maxHeight n =
+  utility ("mxh" -. n) ["max-height" :. style n]
+
+
 data Overflow
   = Scroll
   | Clip
@@ -264,6 +272,6 @@
 instance PropertyStyle Overflow Visibility
 
 
--- | Control how an element clips content that exceeds its bounds 
+-- | Control how an element clips content that exceeds its bounds
 overflow :: (PropertyStyle Overflow o, ToClassName o, Styleable h) => o -> CSS h -> CSS h
 overflow o = utility ("over" -. o) ["overflow" :. propertyStyle @Overflow o]
diff --git a/src/Web/Atomic/Html.hs b/src/Web/Atomic/Html.hs
--- a/src/Web/Atomic/Html.hs
+++ b/src/Web/Atomic/Html.hs
@@ -65,7 +65,17 @@
 
 tag :: Text -> Html () -> Html ()
 tag nm (Html _ content) = do
-  Html () [Elem $ (element nm){content}]
+  fromElement $ (element nm){content}
+
+
+tag' :: Bool -> Text -> Html () -> Html ()
+tag' inline nm (Html _ content) =
+  fromElement $ (element nm){content, inline}
+
+
+fromElement :: Element -> Html ()
+fromElement elm =
+  Html () [Elem elm]
 
 
 text :: Text -> Html ()
diff --git a/src/Web/Atomic/Html/Tag.hs b/src/Web/Atomic/Html/Tag.hs
--- a/src/Web/Atomic/Html/Tag.hs
+++ b/src/Web/Atomic/Html/Tag.hs
@@ -6,7 +6,7 @@
 Stability:   experimental
 Portability: portable
 
-We can intuitively create layouts by combining of 'row', 'col', 'space', and 'stack'
+We can intuitively create layouts by combining 'row', 'col', 'space', and 'stack'
 
 @
 holygrail = do
diff --git a/src/Web/Atomic/Render.hs b/src/Web/Atomic/Render.hs
--- a/src/Web/Atomic/Render.hs
+++ b/src/Web/Atomic/Render.hs
@@ -47,7 +47,7 @@
 nodeLines :: Int -> Node -> [Line]
 nodeLines ind (Elem e) = elementLines ind e
 nodeLines _ (Text t) = [Line Inline 0 $ HE.text t]
-nodeLines _ (Raw t) = [Line Newline 0 t]
+nodeLines _ (Raw t) = [Line Inline 0 t]
 
 
 elementLines :: Int -> Element -> [Line]
@@ -174,16 +174,14 @@
 
 -- | Render lines to text
 renderLines :: [Line] -> Text
-renderLines = snd . L.foldl' nextLine (False, "")
+renderLines = snd . L.foldl' nextLine (Inline, "")
  where
-  nextLine :: (Bool, Text) -> Line -> (Bool, Text)
-  nextLine (newline, t) l = (nextNewline l, t <> currentLine newline l)
+  nextLine :: (LineEnd, Text) -> Line -> (LineEnd, Text)
+  nextLine (end, t) l = (l.end, t <> currentLine end l)
 
-  currentLine :: Bool -> Line -> Text
-  currentLine newline l
-    | newline = "\n" <> spaces l.indent <> l.text
+  currentLine :: LineEnd -> Line -> Text
+  currentLine end l
+    | end == Newline = "\n" <> spaces l.indent <> l.text
     | otherwise = l.text
-
-  nextNewline l = l.end == Newline
 
   spaces n = T.replicate n " "
diff --git a/src/Web/Atomic/Types/Attributable.hs b/src/Web/Atomic/Types/Attributable.hs
--- a/src/Web/Atomic/Types/Attributable.hs
+++ b/src/Web/Atomic/Types/Attributable.hs
@@ -33,7 +33,7 @@
 infixl 5 @
 
 
-instance {-# OVERLAPPABLE #-} (Attributable a, Attributable b) => Attributable (a -> b) where
+instance {-# OVERLAPPABLE #-} (Attributable b) => Attributable (a -> b) where
   (@) :: (a -> b) -> (Attributes (a -> b) -> Attributes (a -> b)) -> (a -> b)
   hh @ f = \content ->
     hh content @ \(Attributes m) ->
diff --git a/src/Web/Atomic/Types/Styleable.hs b/src/Web/Atomic/Types/Styleable.hs
--- a/src/Web/Atomic/Types/Styleable.hs
+++ b/src/Web/Atomic/Types/Styleable.hs
@@ -25,7 +25,7 @@
 infixl 5 ~
 
 
-instance {-# OVERLAPPABLE #-} (Styleable a, Styleable b) => Styleable (a -> b) where
+instance {-# OVERLAPPABLE #-} (Styleable b) => Styleable (a -> b) where
   (~) :: (a -> b) -> (CSS (a -> b) -> CSS (a -> b)) -> (a -> b)
   hh ~ f = \content ->
     hh content ~ \(CSS m) ->
diff --git a/test/Test/RenderSpec.hs b/test/Test/RenderSpec.hs
--- a/test/Test/RenderSpec.hs
+++ b/test/Test/RenderSpec.hs
@@ -140,7 +140,10 @@
   it "renders inline" $ do
     renderLines [Line Inline 0 "one", Line Inline 0 "two"] `shouldBe` "onetwo"
 
+  it "renders inline" $ do
+    renderLines [Line Inline 0 "one", Line Inline 0 "two"] `shouldBe` "onetwo"
 
+
 htmlSpec :: Spec
 htmlSpec = do
   describe "lines" $ do
@@ -174,6 +177,9 @@
     it "renders pseudo class" $ do
       htmlLines 0 (tag "div" ~ hover bold $ none) `shouldBe` ["<div class='hover:bold'></div>"]
 
+    it "renders raw" $ do
+      htmlLines 0 (tag "div" $ raw "hello") `shouldBe` [Line Newline 0 "<div>", Line Inline 0 "hello", Line Newline 0 "</div>"]
+
   describe "renderText" $ do
     it "renders simple output" $ do
       renderText (tag "div" "hi") `shouldBe` "<div>hi</div>"
@@ -208,6 +214,9 @@
 
     it "renders external classes" $ do
       renderText (el ~ cls "woot" $ none) `shouldBe` "<div class='woot'></div>"
+
+    it "renders raw without leading spaces" $ do
+      renderText (tag' True "div" $ raw "hello") `shouldBe` "<div>hello</div>"
 
   -- it "matches tooltips big example" $ do
   --   golden <- T.readFile "test/resources/tooltips.txt"
