diff --git a/doc/additionalDoc/package.h b/doc/additionalDoc/package.h
index 27b8d2b2ceac4c116a65c4d4347ec004a7727ac8..e27434e3fe9421dedfb53f17fedf5dc25790afc0 100644
--- a/doc/additionalDoc/package.h
+++ b/doc/additionalDoc/package.h
@@ -32,7 +32,7 @@ for a given problem. It is the basis for the stack of tasks operation.
 This code implements the factory design pattern, making creation of entities
 available to packages depending on the dynamic-graph API.
 
-Objects, which are derived from Entities, can be
+Objects, which are derived from Entities (base class dynamicgraph::Entity), can be
  declared within the code and compiled to shared libraries (.so/.dll files).
 These libraries can be loaded at run-time using the PluginLoader methods,
 and at the same time register their class names to the Factory (see the
@@ -55,11 +55,9 @@ at the command line.
 
 The public static objects (singletons) made available by including the
 corresponding headers in this module are:
-\li g_factory: FactoryStorage
-\li g_pool: PoolStorage
-\li g_shell: Interpreter
-
-\image html pictures/use-case.svg
+\li g_factory: dynamicgraph::FactoryStorage
+\li g_pool: dynamicgraph::PoolStorage
+\li g_shell: dynamicgraph::Interpreter
 
 \section entities List of entities in this package
 Since most of the functionality in projects using the dynamic-graph framework
@@ -68,13 +66,23 @@ this package. Note that most entities are contained in a binary file that closel
 the entities' names in the scripts; loading this file with the plugin loader will
 enable creation of this entity through the factory.
 \li \ref tracerdoc
-\li \link dynamicgraph::TracerRealTime TracerRealTime \endlink
+\li \ref tracerrealtimedoc
 \li ShellProcedure
-\li ShellFunctions
+\li \ref shellfunctions_doc
 \li \link dynamicgraph::Contiifstream Contiifstream \endlink
 
 The entities will be placed in ${PREFIX}/lib/plugin (since this may change, it is advised to
 check the install log or the CMakeLists.txt file to check the installation path).
+\section signals About signals
+
+Entities can output different types of signals. All signals are templated by a Time
+tick type parameter (which is used in the caching of signals) - usually \c int. Signals
+are also templated after the type of data they accept or provide. For example:
+
+\section usecase Use case
+
+\image html pictures/use-case.svg
+
 
 \defgroup dgraph Core classes and objects
 \defgroup signals Signals
diff --git a/doc/additionalDoc/shellfunctions_doc.h b/doc/additionalDoc/shellfunctions_doc.h
new file mode 100644
index 0000000000000000000000000000000000000000..01dde8d2eeab8dedb48162dd2bc72f32444bb048
--- /dev/null
+++ b/doc/additionalDoc/shellfunctions_doc.h
@@ -0,0 +1,44 @@
+/**
+\page shellfunctions_doc ShellFunctions
+\note Note: this documentation covers specific aspects of the in-house
+scripting language currently used by the dynamic-graph script. Unless
+otherwise specified, it is only relevant for programmers using this
+particular language. At the time of writing, there is talk of
+replacing the language with python, so check if this information is still
+relevant before reading.
+
+\section description Description
+The \b ShellFunctions plugin file adds common shell functions to the
+dynamic-graph shell.
+\section commands Commands
+The supplementary \b commands provided (you can also type 'help' at the
+dynamic-graph shell command line to see them and a brief description):
+\code
+  LoadPlugins
+  Try
+  DisplayPlugins
+  DisplayFactory
+  Commentary
+  Unplug
+  ClearPlugin
+  SignalTime
+  SynchroSignal
+  Echo
+  Copy
+  Freeze
+  Squeeze
+  EnableTrace
+  SetPrompt
+  Sleep
+  Beep
+  FlagSet
+  CompletionList
+\endcode
+
+\section addi Additional information
+See doxygen documentation for the class ShellFunctions
+
+\section generates Generated plugin file
+shell-functions.dll or shell-functions.so.
+
+**/
diff --git a/doc/additionalDoc/tracer-real-timedoc.h b/doc/additionalDoc/tracer-real-timedoc.h
new file mode 100644
index 0000000000000000000000000000000000000000..5cebd661ab649b21396422af589def9de160bf7b
--- /dev/null
+++ b/doc/additionalDoc/tracer-real-timedoc.h
@@ -0,0 +1,29 @@
+/**
+\page tracerrealtimedoc TracerRealTime
+\section description Description
+The \b TracerRealTime entity monitors a set of signals with real-time constraints; its
+function is very similar to the Tracer, except that all traces are recorded to a
+memory buffer, which can be emptied at any time.
+\section commands Commands
+The \b commands that this entity exposes are (you can also type [entity name].help at the
+dynamic-graph shell command line to see this list):
+\code
+empty (discards all buffers)
+buffersize (sets buffer size for recording)
+trace (writes traces to files)
+\endcode
+Plus all the commands exposed by \ref tracerdoc
+\n
+For more information on the signals exposed by this entity, please check the
+code documentation of the dynamicgraph::Tracer class.
+
+\section sample Sample usage
+See \ref tracerdoc for a code sample of using TracerRealTime.
+
+\section addi Additional information
+See doxygen documentation for the class dynamicgraph::TracerRealTime
+
+\section generates Generated plugin file
+tracer-real-time.dll or tracer-real-time.so.
+
+**/
diff --git a/doc/additionalDoc/tracerdoc.h b/doc/additionalDoc/tracerdoc.h
index d0553e7c8e15fb14c459e15d42bb2f6fc471e518..fa09d4e1b12d51d01cec1d913cae4ddce83a22b5 100644
--- a/doc/additionalDoc/tracerdoc.h
+++ b/doc/additionalDoc/tracerdoc.h
@@ -1,11 +1,11 @@
 /**
 \page tracerdoc Tracer
-Generated plugin file tracer.dll or tracer.so.
 \section description Description
 The \b Tracer entity monitors a set of signals. With an input change on the entity's <trigger> signal,
 the tracked signal values are recorded and traced to a file. The behavior of the trace-to-file
 function can be changed, from printing to a file immediately after recording, to printing out
-only when asked explicitly.\n
+only when asked explicitly.
+\section commands Commands
 The \b commands that this entity exposes are (you can also type [entity name].help at the
 dynamic-graph shell command line to see this list):
 \code
@@ -13,7 +13,7 @@ open, close (a file);
 add (a signal)
 clear (recorded values);
 record (signal values)
-trace (recorded values to file)
+trace (doesn't do anything)
 start, stop (traces)
 \endcode
 \n
@@ -38,4 +38,11 @@ tr.add OpenHRP.forceRARM
 tr.add dyn.0
 tr.add jgain.gain
 \endcode
+
+\section addi Additional information
+See doxygen documentation for the class dynamicgraph::Tracer
+
+\section generates Generated plugin file
+tracer.dll or tracer.so.
+
 **/
diff --git a/doc/header.html b/doc/header.html
index 4f6e91d3db222fb24b34e05bb5f4baec2e37aaa9..ece76fe1678e603d0f08027f5d8a05028dcce2e3 100644
--- a/doc/header.html
+++ b/doc/header.html
@@ -2,6 +2,7 @@
     <HEAD>
       <TITLE>dynamicGraph library documentation</TITLE>
       <LINK HREF="package.css" REL="stylesheet" TYPE="text/css">
+      <LINK HREF="tabs.css" REL="stylesheet" TYPE="text/css">
     </HEAD>
     <BODY>
 
diff --git a/doc/package.css b/doc/package.css
index f992392b8d5f99929d049a86a66bfaf807cdc431..224338bc61304317eaf6884c09dd7470bea5423e 100644
--- a/doc/package.css
+++ b/doc/package.css
@@ -1,230 +1,657 @@
+/* The standard CSS for doxygen */
+
+body, table, div, p, dl {
+	font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
+	font-size: 12px;
+}
+
+/* @group Heading Levels */
+
+h1 {
+	font-size: 150%;
+}
+
+h2 {
+	font-size: 120%;
+}
+
+h3 {
+	font-size: 100%;
+}
+
+dt {
+	font-weight: bold;
+}
+
+div.multicol {
+	-moz-column-gap: 1em;
+	-webkit-column-gap: 1em;
+	-moz-column-count: 3;
+	-webkit-column-count: 3;
+}
+
+p.startli, p.startdd, p.starttd {
+	margin-top: 2px;
+}
+
+p.endli {
+	margin-bottom: 0px;
+}
+
+p.enddd {
+	margin-bottom: 4px;
+}
+
+p.endtd {
+	margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+	font-weight: bold;
+}
+
+span.legend {
+        font-size: 70%;
+        text-align: center;
+}
+
+h3.version {
+        font-size: 90%;
+        text-align: center;
+}
+
+div.qindex, div.navtab{
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+	margin: 2px;
+	padding: 2px;
+}
+
+div.qindex, div.navpath {
+	width: 100%;
+	line-height: 140%;
+}
+
+div.navtab {
+	margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+	color: #3D578C;
+	font-weight: normal;
+	text-decoration: none;
+}
+
+.contents a:visited {
+	color: #4665A2;
+}
+
+a:hover {
+	text-decoration: underline;
+}
+
+a.qindex {
+	font-weight: bold;
+}
+
+a.qindexHL {
+	font-weight: bold;
+	background-color: #9CAFD4;
+	color: #ffffff;
+	border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+        color: #ffffff;
+}
+
+a.el {
+	font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code {
+	color: #4665A2;
+}
+
+a.codeRef {
+	color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+	margin-left: -1cm;
+}
+
+.fragment {
+	font-family: monospace, fixed;
+	font-size: 105%;
+}
+
+pre.fragment {
+	border: 1px solid #C4CFE5;
+	background-color: #FBFCFD;
+	padding: 4px 6px;
+	margin: 4px 8px 4px 2px;
+	overflow: auto;
+	word-wrap: break-word;
+	font-size:  9pt;
+	line-height: 125%;
+}
+
+div.ah {
+	background-color: black;
+	font-weight: bold;
+	color: #ffffff;
+	margin-bottom: 3px;
+	margin-top: 3px;
+	padding: 0.2em;
+	border: solid thin #333;
+	border-radius: 0.5em;
+	-webkit-border-radius: .5em;
+	-moz-border-radius: .5em;
+	-webkit-box-shadow: 2px 2px 3px #999;
+	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+}
+
+div.groupHeader {
+	margin-left: 16px;
+	margin-top: 12px;
+	margin-bottom: 6px;
+	font-weight: bold;
+}
+
+div.groupText {
+	margin-left: 16px;
+	font-style: italic;
+}
+
 body {
-    font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Sans-Serif;
-    color: #5D5D5D;
+	background: white;
+	color: black;
+        margin: 0;
 }
 
-dl {
-    border: 1.5px #82b6d7 solid;
-    width: 97%;
-    padding: 5px;
-    color: #330077;
+div.contents {
+	margin-top: 10px;
+	margin-left: 10px;
+	margin-right: 10px;
 }
 
-code {
-    color: #3C9A35;
+td.indexkey {
+	background-color: #EBEFF6;
+	font-weight: bold;
+	border: 1px solid #C4CFE5;
+	margin: 2px 0px 2px 0;
+	padding: 2px 10px;
 }
 
-td.md {
-    color: #0066CC;
+td.indexvalue {
+	background-color: #EBEFF6;
+	border: 1px solid #C4CFE5;
+	padding: 2px 10px;
+	margin: 2px 0px;
 }
 
-h1 {
-    padding-top: 50px;
-    padding: 0px;
-    font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Sans-Serif;
-    font-variant: small-caps;
-    color:#0066CC;
-    text-align: center;
+tr.memlist {
+	background-color: #EEF1F7;
 }
 
-h2,h3,hr {
-    magin-top: 15px;
-    padding: 0px;
-    font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Sans-Serif;
-    font-variant: small-caps;
-    color:#0066CC;
+p.formulaDsp {
+	text-align: center;
 }
 
-h4 {
-    color: #3C9A35;
+img.formulaDsp {
+	
 }
 
-a:link {
-    font-weight: bold;
-    text-decoration: none;
-    color:#0066CC
+img.formulaInl {
+	vertical-align: middle;
 }
 
-a:hover, a:active { 
-	text-decoration: underline; 
-	color: #3C9A35;
+div.center {
+	text-align: center;
+        margin-top: 0px;
+        margin-bottom: 0px;
+        padding: 0px;
 }
 
-a:visited {
-    font-weight: bold;
-    color: #3C9A35;
-    text-decoration: none;
+div.center img {
+	border: 0px;
 }
 
-DIV.memitem
-{ 
-  spacing: 10px;
-  width:100%;
-  background:#FFFFFF;
-  font-size:100%;
-  line-height:normal;
-  border-width: 1px;
-  border-style: solid;
-  border-color: #808080;
-  -moz-border-radius: 8px 8px 8px 8px;
+address.footer {
+	text-align: right;
+	padding-right: 12px;
 }
 
-DIV.memproto
-{ 
-  width:100%;
-  background:#F0F0F0;
-  font-size:100%;
-  line-height:normal;
-  border-width: 1px;
-  border-style: solid;
-  border-color: #808080;
-  -moz-border-radius: 8px 8px 8px 8px;
+img.footer {
+	border: 0px;
+	vertical-align: middle;
 }
 
-DIV.memdoc
-{ 
-  padding: 10px;
-  width:100%;
-  font-size:100%;
-  line-height:normal;
+/* @group Code Colorization */
+
+span.keyword {
+	color: #008000
 }
 
-DIV.tabs
-{
-   float            : left;
-   width            : 100%;
-   background       : url("tab_b.gif") repeat-x bottom;
-   margin-bottom    : 4px;
+span.keywordtype {
+	color: #604020
 }
 
-DIV.tabs UL
-{
-   margin           : 0px;
-   padding-left     : 10px;
-   list-style       : none;
+span.keywordflow {
+	color: #e08000
 }
 
-DIV.tabs LI, DIV.tabs FORM
-{
-   display          : inline;
-   margin           : 0px;
-   padding          : 0px;
+span.comment {
+	color: #800000
 }
 
-DIV.tabs FORM
-{
-   float            : right;
+span.preprocessor {
+	color: #806020
 }
 
-DIV.tabs A
-{
-   float            : left;
-   background       : url("tab_r.gif") no-repeat right top;
-   border-bottom    : 1px solid #84B0C7;
-   font-size        : x-small;
-   font-weight      : bold;
-   text-decoration  : none;
+span.stringliteral {
+	color: #002080
 }
 
-DIV.tabs A:hover
-{
-   background-position: 100% -150px;
+span.charliteral {
+	color: #008080
 }
 
-DIV.tabs A:link, DIV.tabs A:visited,
-DIV.tabs A:active, DIV.tabs A:hover
-{
-       color: #1A419D;
+span.vhdldigit { 
+	color: #ff00ff 
 }
 
-DIV.tabs SPAN
-{
-   float            : left;
-   display          : block;
-   background       : url("tab_l.gif") no-repeat left top;
-   padding          : 5px 9px;
-   white-space      : nowrap;
+span.vhdlchar { 
+	color: #000000 
 }
 
-DIV.tabs INPUT
-{
-   float            : right;
-   display          : inline;
-   font-size        : 1em;
+span.vhdlkeyword { 
+	color: #700070 
 }
 
-DIV.tabs TD
-{
-   font-size        : x-small;
-   font-weight      : bold;
-   text-decoration  : none;
+span.vhdllogic { 
+	color: #ff0000 
+}
+
+/* @end */
+
+/*
+.search {
+	color: #003399;
+	font-weight: bold;
+}
+
+form.search {
+	margin-bottom: 0px;
+	margin-top: 0px;
+}
+
+input.search {
+	font-size: 75%;
+	color: #000080;
+	font-weight: normal;
+	background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+	font-size: 75%;
+}
+
+.dirtab {
+	padding: 4px;
+	border-collapse: collapse;
+	border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+	background: #EBEFF6;
+	font-weight: bold;
 }
 
+hr {
+	height: 0px;
+	border: none;
+	border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+	height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+	border-spacing: 0px;
+	padding: 0px;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+	background-color: #F9FAFC;
+	border: none;
+	margin: 4px;
+	padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+	padding: 0px 8px 4px 8px;
+	color: #555;
+}
+
+.memItemLeft, .memItemRight, .memTemplParams {
+	border-top: 1px solid #C4CFE5;
+}
+
+.memItemLeft, .memTemplItemLeft {
+        white-space: nowrap;
+}
+
+.memTemplParams {
+	color: #4665A2;
+        white-space: nowrap;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+	font-size: 80%;
+	color: #4665A2;
+	font-weight: normal;
+	margin-left: 3px;
+}
+
+.memnav {
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+	margin: 2px;
+	margin-right: 15px;
+	padding: 2px;
+}
+
+.memitem {
+	padding: 0;
+	margin-bottom: 10px;
+}
+
+.memname {
+        white-space: nowrap;
+        font-weight: bold;
+        margin-left: 6px;
+}
+
+.memproto {
+        border-top: 1px solid #A8B8D9;
+        border-left: 1px solid #A8B8D9;
+        border-right: 1px solid #A8B8D9;
+        padding: 6px 0px 6px 0px;
+        color: #253555;
+        font-weight: bold;
+        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+        /* firefox specific markup */
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        -moz-border-radius-topright: 8px;
+        -moz-border-radius-topleft: 8px;
+        /* webkit specific markup */
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        -webkit-border-top-right-radius: 8px;
+        -webkit-border-top-left-radius: 8px;
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
+
+}
+
+.memdoc {
+        border-bottom: 1px solid #A8B8D9;      
+        border-left: 1px solid #A8B8D9;      
+        border-right: 1px solid #A8B8D9; 
+        padding: 2px 5px;
+        background-color: #FBFCFD;
+        border-top-width: 0;
+        /* firefox specific markup */
+        -moz-border-radius-bottomleft: 8px;
+        -moz-border-radius-bottomright: 8px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
+        /* webkit specific markup */
+        -webkit-border-bottom-left-radius: 8px;
+        -webkit-border-bottom-right-radius: 8px;
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
+}
+
+.paramkey {
+	text-align: right;
+}
+
+.paramtype {
+	white-space: nowrap;
+}
 
+.paramname {
+	color: #602020;
+	white-space: nowrap;
+}
+.paramname em {
+	font-style: normal;
+}
+
+/* @end */
+
+/* @group Directory (tree) */
+
+/* for the tree view */
+
+.ftvtree {
+	font-family: sans-serif;
+	margin: 0px;
+}
+
+/* these are for tree view when used as main index */
+
+.directory {
+	font-size: 9pt;
+	font-weight: bold;
+	margin: 5px;
+}
 
-DIV.tabs SPAN {float : none;}
+.directory h3 {
+	margin: 0px;
+	margin-top: 1em;
+	font-size: 11pt;
+}
 
-DIV.tabs A:hover SPAN
+/*
+The following two styles can be used to replace the root node title
+with an image of your choice.  Simply uncomment the next two styles,
+specify the name of your image and be sure to set 'height' to the
+proper pixel height of your image.
+*/
+
+/*
+.directory h3.swap {
+	height: 61px;
+	background-repeat: no-repeat;
+	background-image: url("yourimage.gif");
+}
+.directory h3.swap span {
+	display: none;
+}
+*/
+
+.directory > h3 {
+	margin-top: 0;
+}
+
+.directory p {
+	margin: 0px;
+	white-space: nowrap;
+}
+
+.directory div {
+	display: none;
+	margin: 0px;
+}
+
+.directory img {
+	vertical-align: -30%;
+}
+
+/* these are for tree view when not used as main index */
+
+.directory-alt {
+	font-size: 100%;
+	font-weight: bold;
+}
+
+.directory-alt h3 {
+	margin: 0px;
+	margin-top: 1em;
+	font-size: 11pt;
+}
+
+.directory-alt > h3 {
+	margin-top: 0;
+}
+
+.directory-alt p {
+	margin: 0px;
+	white-space: nowrap;
+}
+
+.directory-alt div {
+	display: none;
+	margin: 0px;
+}
+
+.directory-alt img {
+	vertical-align: -30%;
+}
+
+/* @end */
+
+div.dynheader {
+        margin-top: 8px;
+}
+
+address {
+	font-style: normal;
+	color: #2A3D61;
+}
+
+table.doxtable {
+	border-collapse:collapse;
+}
+
+table.doxtable td, table.doxtable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+	text-align:left;
+}
+
+.tabsearch {
+	top: 0px;
+	left: 10px;
+	height: 36px;
+	background-image: url('tab_b.png');
+	z-index: 101;
+	overflow: hidden;
+	font-size: 13px;
+}
+
+.navpath ul
 {
-   background-position: 0% -150px;
+	font-size: 11px;
+	background-image:url('tab_b.png');
+	background-repeat:repeat-x;
+	height:30px;
+	line-height:30px;
+	color:#8AA0CC;
+	border:solid 1px #C2CDE4;
+	overflow:hidden;
+	margin:0px;
+	padding:0px;
 }
 
-DIV.tabs LI#current A
+.navpath li
 {
-   background-position: 100% -150px;
-   border-width     : 0px;
+	list-style-type:none;
+	float:left;
+	padding-left:10px;
+	padding-right: 15px;
+	background-image:url('bc_s.png');
+	background-repeat:no-repeat;
+	background-position:right;
+	color:#364D7C;
 }
 
-DIV.tabs LI#current SPAN
+.navpath a
 {
-   background-position: 0% -150px;
-   padding-bottom   : 6px;
+	height:32px;
+	display:block;
+	text-decoration: none;
+	outline: none;
 }
 
-DIV.nav
+.navpath a:hover
 {
-   background       : none;
-   border           : none;
-   border-bottom    : 1px solid #84B0C7;
-}
-
-DIV.groupHeader
-{ 
-  padding-top: 30px;
-  padding-bottom: 20px;
-  background       : none;
-  border           : none;
-  border-bottom    : 1px solid #84B0C7;
-  font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Sans-Serif;
-  font-variant: small-caps;
-  font-size: 14pt;
-  color:#0066CC;
-}
-
-.directory p 
-{ 
-    margin: 0px; 
-    white-space: nowrap; 
-    font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Sans-Serif;
-    font-size: 10pt;
-    font-weight: normal;
-}
-
-
-.directory h3 
-{ 
-    font-family: 'Lucida Grande','Lucida Sans Unicode',Verdana,Sans-Serif;
-    margin: 0px; 
-    margin-top: 1em; 
-    padding-bottom: 20px;
-    font-size: 12pt; 
-    font-variant: small-caps;
-    text-align: center;
-}
-
-.directory a:visited {
-    font-weight: bold;
-    text-decoration: none;
-    color:#0066CC
+	color:#6884BD;
 }
 
+div.summary
+{
+	float: right;
+	font-size: 8pt;
+	padding-right: 5px;
+	width: 50%;
+	text-align: right;
+}       
+
+div.summary a
+{
+	white-space: nowrap;
+}
+
+div.header
+{
+        background-image:url('nav_h.png');
+        background-repeat:repeat-x;
+	background-color: #F9FAFC;
+	margin:  0px;
+	border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+	padding: 5px 5px 5px 10px;
+}
+
+
diff --git a/doc/tabs.css b/doc/tabs.css
new file mode 100644
index 0000000000000000000000000000000000000000..21920562a831f80ad5df7d913b1d3d64db994510
--- /dev/null
+++ b/doc/tabs.css
@@ -0,0 +1,59 @@
+.tabs, .tabs2, .tabs3 {
+    background-image: url('tab_b.png');
+    width: 100%;
+    z-index: 101;
+    font-size: 13px;
+}
+
+.tabs2 {
+    font-size: 10px;
+}
+.tabs3 {
+    font-size: 9px;
+}
+
+.tablist {
+    margin: 0;
+    padding: 0;
+    display: table;
+}
+
+.tablist li {
+    float: left;
+    display: table-cell;
+    background-image: url('tab_b.png');
+    line-height: 36px;
+    list-style: none;
+}
+
+.tablist a {
+    display: block;
+    padding: 0 20px;
+    font-weight: bold;
+    background-image:url('tab_s.png');
+    background-repeat:no-repeat;
+    background-position:right;
+    color: #283A5D;
+    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+    text-decoration: none;
+    outline: none;
+}
+
+.tabs3 .tablist a {
+    padding: 0 10px;
+}
+
+.tablist a:hover {
+    background-image: url('tab_h.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+    text-decoration: none;
+}
+
+.tablist li.current a {
+    background-image: url('tab_a.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}