diff --git a/gnuplot.cabal b/gnuplot.cabal
--- a/gnuplot.cabal
+++ b/gnuplot.cabal
@@ -1,5 +1,5 @@
 Name:             gnuplot
-Version:          0.3.3.1
+Version:          0.3.4
 License:          BSD3
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -20,13 +20,14 @@
    For more sophisticated plots,
    especially batch generated graphics,
    I recommend "Graphics.Gnuplot.Advanced".
+   This module contains also an overview
+   of the hierarchy of objects.
+   Examples for using this interface can be found in the "Demo" module.
    .
    With the Cabal flags executePipe and executeShell
    you can switch to more convenient
    but probably less portable ways
-   of running gnuplot.
-   .
-   In the past this was part of the htam package.
+   of feeding gnuplot with a script.
 Tested-With:       GHC==6.8.2
 Cabal-Version:     >=1.2
 Build-Type:        Simple
diff --git a/src/Graphics/Gnuplot/Advanced.hs b/src/Graphics/Gnuplot/Advanced.hs
--- a/src/Graphics/Gnuplot/Advanced.hs
+++ b/src/Graphics/Gnuplot/Advanced.hs
@@ -24,10 +24,50 @@
 
 * @Frame@: Add options to a plot
   such as border, legend, title, label attributes.
-  See "Graphics.Gnuplot.Frame".
+  See "Graphics.Gnuplot.Frame" and "Graphics.Gnuplot.Frame.OptionSet".
 
 * @MultiPlot@: Arrange several frames in a matrix layout.
   See "Graphics.Gnuplot.MultiPlot".
+
+
+Although the Haskell wrapper shall save you from the burden
+of learning gnuplot script syntax,
+it happens frequently that people ask,
+how to express a certain gnuplot script using this package.
+Thus let's annotate the gnuplot script generated by @Demo.multiplot2d@
+in order to show, what belongs to where:
+
+> # the terminal selection is part of the 'plot' command of this module
+> set terminal x11
+> # multiplot initialization belongs to MultiPlot - of course
+> set multiplot layout 3, 5
+> # hiding the names of the temporary files is a FrameOption
+> unset key
+> set xrange [-1.0:1.0]
+> # this plot contains only one graph,
+> # but several graphs could be given separated by commas
+> plot "curve0.csv" using 1:2 with lines
+> plot "curve1.csv" using 1:2 with lines
+> plot "curve2.csv" using 1:2 with lines
+> plot "curve3.csv" using 1:2 with lines
+> plot "curve4.csv" using 1:2 with lines
+> plot "curve5.csv" using 1:2 with lines
+> plot "curve6.csv" using 1:2 with lines
+> set xrange [-2.5:2.5]
+> set yrange [-2.5:2.5]
+> # this is a plot build from a Graph3D
+> splot "curve7.csv" using 1:2:3 with pm3d
+> set xrange [-1.0:1.0]
+> set yrange [*:*]
+> plot "curve8.csv" using 1:2 with lines
+> plot "curve9.csv" using 1:2 with lines
+> plot "curve10.csv" using 1:2 with lines
+> plot "curve11.csv" using 1:2 with lines
+> plot "curve12.csv" using 1:2 with lines
+> plot "curve13.csv" using 1:2 with lines
+> plot "curve14.csv" using 1:2 with lines
+> unset multiplot
+
 -}
 module Graphics.Gnuplot.Advanced (
     plot,
diff --git a/src/Graphics/Gnuplot/Frame/Option.hs b/src/Graphics/Gnuplot/Frame/Option.hs
--- a/src/Graphics/Gnuplot/Frame/Option.hs
+++ b/src/Graphics/Gnuplot/Frame/Option.hs
@@ -4,5 +4,6 @@
    ) where
 
 -- exclude Cons constructor
+-- this does not work, Cons is exported anyway
 import Graphics.Gnuplot.Private.FrameOption hiding (T)
 import qualified Graphics.Gnuplot.Private.FrameOption as Option
diff --git a/src/Graphics/Gnuplot/Frame/OptionSet.hs b/src/Graphics/Gnuplot/Frame/OptionSet.hs
--- a/src/Graphics/Gnuplot/Frame/OptionSet.hs
+++ b/src/Graphics/Gnuplot/Frame/OptionSet.hs
@@ -13,6 +13,9 @@
    xLabel,
    yLabel,
    zLabel,
+
+   view,
+   viewMap,
    ) where
 
 
@@ -64,6 +67,26 @@
 label opt x =
    OptionSet.add opt [quote x]
 
+
+{- |
+Set parameters of viewing a surface graph.
+See <info:gnuplot/view>
+-}
+view ::
+   Double {- ^ rotateX -} ->
+   Double {- ^ rotateZ -} ->
+   Double {- ^ scale -} ->
+   Double {- ^ scaleZ -} ->
+   T Graph3D.T -> T Graph3D.T
+view rotateX rotateZ scale scaleZ =
+   OptionSet.add Option.view [show rotateX, show rotateZ, show scale, show scaleZ]
+
+{- |
+Show flat pixel map.
+-}
+viewMap :: T Graph3D.T -> T Graph3D.T
+viewMap =
+   OptionSet.add Option.view ["map"]
 
 {-
 xTicks :: Graph.C graph => Double -> Double -> T graph -> T graph
diff --git a/src/Graphics/Gnuplot/Private/FrameOption.hs b/src/Graphics/Gnuplot/Private/FrameOption.hs
--- a/src/Graphics/Gnuplot/Private/FrameOption.hs
+++ b/src/Graphics/Gnuplot/Private/FrameOption.hs
@@ -12,6 +12,7 @@
 key    :: T; key    = Cons "key"
 border :: T; border = Cons "border"
 pm3d   :: T; pm3d   = Cons "pm3d"
+view   :: T; view   = Cons "view"
 
 xRange :: T; xRange = Cons "xrange"
 yRange :: T; yRange = Cons "yrange"
diff --git a/src/Graphics/Gnuplot/Simple.hs b/src/Graphics/Gnuplot/Simple.hs
--- a/src/Graphics/Gnuplot/Simple.hs
+++ b/src/Graphics/Gnuplot/Simple.hs
@@ -4,6 +4,8 @@
 We do not plan to support every feature of gnuplot here,
 instead we provide an advanced modularized interface
 in "Graphics.Gnuplot.Advanced".
+
+This was formerly part of the htam package.
 -}
 module Graphics.Gnuplot.Simple (
     Attribute(..),
