diff --git a/CHANGES.md b/CHANGES.md
new file mode 100644
--- /dev/null
+++ b/CHANGES.md
@@ -0,0 +1,19 @@
+0.3.5 (4 January 2016)
+----------------------
+
+* Added support for elliptical arcs (aa, ar)
+
+0.3.4.1 (24 February 2015)
+--------------------------
+
+* Allow `blaze-markup-0.7`
+
+0.3.4 (21 May 2014)
+-------------------
+
+* export `rotateAround`
+
+0.3.3.1 (3 February 2014)
+-------------------------
+
+* Allow blaze-markup-0.6
diff --git a/blaze-svg.cabal b/blaze-svg.cabal
--- a/blaze-svg.cabal
+++ b/blaze-svg.cabal
@@ -1,5 +1,5 @@
 name:                blaze-svg
-version:             0.3.4.1
+version:             0.3.5
 synopsis:            SVG combinator library
 homepage:            https://github.com/deepakjois/blaze-svg
 license:             BSD3
@@ -28,6 +28,7 @@
   src/Util/Sanitize.hs
   src/Util/GenerateSvgCombinators.hs
   examples/*.hs
+  CHANGES.md
 
 Library
   Hs-Source-Dirs: src
diff --git a/src/Text/Blaze/Svg.hs b/src/Text/Blaze/Svg.hs
--- a/src/Text/Blaze/Svg.hs
+++ b/src/Text/Blaze/Svg.hs
@@ -15,6 +15,8 @@
     , c, cr, s, sr
     -- ** The quadratic Bézier curve commands
     , q, qr, t, tr
+    -- ** Elliptical arc
+    , aa , ar
     -- * SVG Transform combinators
     , translate, rotate, rotateAround, scale
     , skewX, skewY
diff --git a/src/Text/Blaze/Svg/Internal.hs b/src/Text/Blaze/Svg/Internal.hs
--- a/src/Text/Blaze/Svg/Internal.hs
+++ b/src/Text/Blaze/Svg/Internal.hs
@@ -185,7 +185,62 @@
   , show x, ",", show y
   , " "
   ]
+ 
+-- | Elliptical Arc (absolute). This function is an alias for 'a' defined in
+-- this module. It is defined so that it can be exported instead of the a
+-- function due to naming conflicts with 'Text.Blaze.SVG11.a'.
+aa
+  :: Show a
+  => a -- ^ Radius in the x-direction
+  -> a -- ^ Radius in the y-direction
+  -> a -- ^ The rotation of the arc's x-axis compared to the normal x-axis
+  -> a -- ^ Draw the smaller or bigger arc satisfying the start point
+  -> a -- ^ To mirror or not
+  -> a -- ^ The x-coordinate of the end point
+  -> a -- ^ The y-coordinate of the end point
+  -> Path
+aa = a
 
+-- | Elliptical Arc (absolute). This is the internal definition for absolute
+-- arcs. It is not exported but instead exported as 'aa' due to naming
+-- conflicts with 'Text.Blaze.SVG11.a'.
+a
+  :: Show a
+  => a -- ^ Radius in the x-direction
+  -> a -- ^ Radius in the y-direction
+  -> a -- ^ The rotation of the arc's x-axis compared to the normal x-axis
+  -> a -- ^ Draw the smaller or bigger arc satisfying the start point
+  -> a -- ^ To mirror or not
+  -> a -- ^ The x-coordinate of the end point
+  -> a -- ^ The y-coordinate of the end point
+  -> Path
+a rx ry xAxisRotation largeArcFlag sweepFlag x y = appendToPath
+  [ "A "
+  , show rx, ",", show ry, " "
+  , show xAxisRotation, " "
+  , show largeArcFlag, ",", show sweepFlag, " "
+  , show x, ",", show y, " "
+  ]
+
+-- | Elliptical Arc (relative)
+ar
+  :: Show a
+  => a -- ^ Radius in the x-direction
+  -> a -- ^ Radius in the y-direction
+  -> a -- ^ The rotation of the arc's x-axis compared to the normal x-axis
+  -> a -- ^ Draw the smaller or bigger arc satisfying the start point
+  -> a -- ^ To mirror or not
+  -> a -- ^ The x-coordinate of the end point
+  -> a -- ^ The y-coordinate of the end point
+  -> Path
+ar rx ry xAxisRotation largeArcFlag sweepFlag x y = appendToPath
+  [ "a "
+  , show rx, ",", show ry, " "
+  , show xAxisRotation, " "
+  , show largeArcFlag, ",", show sweepFlag, " "
+  , show x, ",", show y, " "
+  ]
+
 -- | Specifies a translation by @x@ and @y@
 translate :: Show a => a -> a -> AttributeValue
 translate x y = toValue . join $
@@ -237,9 +292,9 @@
 
 -- | Specifies a transform in the form of a transformation matrix
 matrix :: Show a => a -> a -> a -> a -> a -> a -> AttributeValue
-matrix a b c_ d e f =  toValue . join $
+matrix a_ b c_ d e f =  toValue . join $
   [  "matrix("
-  ,  show a, ","
+  ,  show a_, ","
   ,  show b, ","
   ,  show c_, ","
   ,  show d, ","
