diff --git a/Simulation/Aivika/Experiment/CairoRenderer.hs b/Simulation/Aivika/Experiment/CairoRenderer.hs
deleted file mode 100644
--- a/Simulation/Aivika/Experiment/CairoRenderer.hs
+++ /dev/null
@@ -1,37 +0,0 @@
-
--- |
--- Module     : Simulation.Aivika.Experiment.CairoRenderer
--- Copyright  : Copyright (c) 2012-2014, David Sorokin <david.sorokin@gmail.com>
--- License    : BSD3
--- Maintainer : David Sorokin <david.sorokin@gmail.com>
--- Stability  : experimental
--- Tested with: GHC 7.6.3
---
--- This module defines a renderer that uses the Chart-cairo library based on Cairo
--- for rendering charts with simulation results.
---
-
-module Simulation.Aivika.Experiment.CairoRenderer
-       (CairoRenderer(..)) where
-
-import Graphics.Rendering.Chart
-import Graphics.Rendering.Chart.Backend.Cairo
-
-import Simulation.Aivika.Experiment
-import Simulation.Aivika.Experiment.Chart
-
--- | This renderer uses the Chart-cairo library based on Cairo for rendering charts with simulation results.
-data CairoRenderer = CairoRenderer FileFormat
-
-instance FileRenderer CairoRenderer
-
-instance ChartRenderer CairoRenderer where
-
-  renderableFileExtension (CairoRenderer PNG) = ".png"
-  renderableFileExtension (CairoRenderer SVG) = ".svg"
-  renderableFileExtension (CairoRenderer PS)  = ".ps"
-  renderableFileExtension (CairoRenderer PDF) = ".pdf"
-  
-  renderChart (CairoRenderer format) size =
-    flip $ renderableToFile (FileOptions size format)
-
diff --git a/Simulation/Aivika/Experiment/Chart/Backend/Cairo.hs b/Simulation/Aivika/Experiment/Chart/Backend/Cairo.hs
new file mode 100644
--- /dev/null
+++ b/Simulation/Aivika/Experiment/Chart/Backend/Cairo.hs
@@ -0,0 +1,47 @@
+
+{-# LANGUAGE MultiParamTypeClasses #-}
+
+-- |
+-- Module     : Simulation.Aivika.Experiment.Chart.Backend.Cairo
+-- Copyright  : Copyright (c) 2012-2014, David Sorokin <david.sorokin@gmail.com>
+-- License    : BSD3
+-- Maintainer : David Sorokin <david.sorokin@gmail.com>
+-- Stability  : experimental
+-- Tested with: GHC 7.8.3
+--
+-- This module defines a renderer that uses the Chart-cairo library based on Cairo
+-- for rendering charts with simulation results.
+--
+
+module Simulation.Aivika.Experiment.Chart.Backend.Cairo
+       (CairoRenderer(..)) where
+
+import Graphics.Rendering.Chart
+import Graphics.Rendering.Chart.Backend.Cairo
+
+import Simulation.Aivika.Experiment
+import Simulation.Aivika.Experiment.Chart
+
+-- | This renderer uses the Chart-cairo library based on Cairo for rendering charts with simulation results.
+data CairoRenderer = CairoRenderer FileFormat
+
+-- | The class of the Cairo-based renderers is a sub-class of the charting renderers.
+class WebPageCharting r => CairoRendering r
+
+instance ExperimentRendering CairoRenderer WebPageWriter where
+
+  renderExperiment e r = renderExperiment e WebPageRenderer
+
+instance WebPageRendering CairoRenderer
+
+instance WebPageCharting CairoRenderer where
+
+  renderableChartExtension (CairoRenderer PNG) = ".png"
+  renderableChartExtension (CairoRenderer SVG) = ".svg"
+  renderableChartExtension (CairoRenderer PS)  = ".ps"
+  renderableChartExtension (CairoRenderer PDF) = ".pdf"
+  
+  renderChart (CairoRenderer format) size =
+    renderableToFile (FileOptions size format)
+
+instance CairoRendering CairoRenderer
diff --git a/aivika-experiment-cairo.cabal b/aivika-experiment-cairo.cabal
--- a/aivika-experiment-cairo.cabal
+++ b/aivika-experiment-cairo.cabal
@@ -1,5 +1,5 @@
 name:            aivika-experiment-cairo
-version:         1.3.1
+version:         1.4
 synopsis:        Cairo backend for the Aivika simulation library
 description:
     This package complements the Aivika and Aivika Experiment packages 
@@ -14,17 +14,19 @@
 homepage:        http://github.com/dsorokin/aivika-experiment-cairo
 cabal-version:   >= 1.6
 build-type:      Simple
-tested-with:     GHC == 7.6.3
+tested-with:     GHC == 7.8.3
 
 library
 
-    exposed-modules: Simulation.Aivika.Experiment.CairoRenderer
+    exposed-modules: Simulation.Aivika.Experiment.Chart.Backend.Cairo
 
     build-depends:   base >= 3 && < 6,
                      Chart >= 1.3.1,
                      Chart-cairo >= 1.3.1,
-                     aivika-experiment >= 1.3,
-                     aivika-experiment-chart >= 1.3
+                     aivika-experiment >= 1.4,
+                     aivika-experiment-chart >= 1.4
+
+    extensions:      MultiParamTypeClasses
 
     ghc-options:     -O2
 
