diff --git a/plugins/org.eclipse.objectteams.otdt.doc/guide/contentassist.html b/plugins/org.eclipse.objectteams.otdt.doc/guide/contentassist.html
index a8fb902..30eaa9f 100644
--- a/plugins/org.eclipse.objectteams.otdt.doc/guide/contentassist.html
+++ b/plugins/org.eclipse.objectteams.otdt.doc/guide/contentassist.html
@@ -8,9 +8,9 @@
   </head>
   <body style="margin:10px">
     <h1 align="center">OT/J content/code assist</h1>
-	<p>The <a href="/help/topic/org.eclipse.jdt.doc.user/reference/ref-143.htm">content/code
+	<p>The <a href="/help/topic/org.eclipse.jdt.doc.user/reference/ref-java-editor-code-assist.htm">content/code
 	assist (code completions)</a> inherent in the
-	<a href="/help/topic/org.eclipse.jdt.doc.user/concepts/concepts-7.htm">Java editor</a>
+	<a href="/help/topic/org.eclipse.jdt.doc.user/concepts/concepts-java-editor.htm">Java editor</a>
 	has been extended in order to provide for Object Teams specific keywords and modifiers (e.g.
 	<code class="keyword">team, playedBy, callin, before, after, replace</code> etc.) as well.
 	Code completion and quick fixes provide more specific assistance depending on the current context of editing.
diff --git a/plugins/org.eclipse.objectteams.otdt.doc/guide/editor.html b/plugins/org.eclipse.objectteams.otdt.doc/guide/editor.html
index 9492562..a20315f 100644
--- a/plugins/org.eclipse.objectteams.otdt.doc/guide/editor.html
+++ b/plugins/org.eclipse.objectteams.otdt.doc/guide/editor.html
@@ -10,7 +10,7 @@
   <body>
     <h1>Java editor with Object Teams capability</h1>
     The extended Java editor provides specialized features for editing
-    OT/J code. The original <a href="/help/topic/org.eclipse.jdt.doc.user/concepts/concepts-7.htm">Java editor</a> 
+    OT/J code. The original <a href="/help/topic/org.eclipse.jdt.doc.user/concepts/concepts-java-editor.htm">Java editor</a> 
     has been extended for the following features:
 	<ul>
 	  <li><b>Navigation</b> support for Object Teams elements (F3 = <span class="ui">Open Declaration</span>, see below)</li>
diff --git a/plugins/org.eclipse.objectteams.otdt.doc/guide/features.html b/plugins/org.eclipse.objectteams.otdt.doc/guide/features.html
index 191212a..141efe0 100644
--- a/plugins/org.eclipse.objectteams.otdt.doc/guide/features.html
+++ b/plugins/org.eclipse.objectteams.otdt.doc/guide/features.html
@@ -17,7 +17,7 @@
 		<div style="margin:10px;margin-top:100px;">
 		 <div style="margin-left:40px;padding:2px;float:left;background-color:#D0D0D0;">
           <div style="padding:4px;background-color:#def4fe;">
-			The release 2.1 is based on Eclipse SDK 3.8.<br/>
+			The release 2.1 is based on Eclipse SDK 3.8 / 4.2.<br/>
 			The OTDT contains a modified version of the JDT core and several added plugins.
           </div>
          </div>
@@ -32,7 +32,7 @@
 			  <li><a href="#bindingEditor">Binding Editor</a></li>
 			  <li><a href="#refactoring">Refactoring</a></li>
 			  <li><a href="#structureViewers">Structure Viewers</a></li>
-			  <li><a href="#Search">Search</a></li>
+			  <li><a href="#search">Search</a></li>
 			  <li><a href="#execution">Execution Environment</a></li>
 			  <li><a href="#otequinox">OT/Equinox</a></li>
 			  <li><a href="#debugging">Debugging</a></li>
@@ -216,6 +216,7 @@
 			<dd><ul><li>Also the call hierarchy has been extended for browsing control flows passing
 			through method bindings (callin and callout).</li>
 			<li>The OTDT introduced support for call hierarchies regarding field accesses (read, write, any) and class instantiations. As of version 3.4 this functionality has been adopted by Eclipse.</li>
+			<li>OT/J constructs that may cause role creation due to lifting are considered by the call hierarchy as calling the role's lifting constructor.</li>
 			</ul>
 			</dd>
 			</dl>
@@ -230,7 +231,7 @@
 			All aspect oriented languages have some kind of <em>weaving process</em>, where the aspect code is combined with the other (<em>base</em>) code.
 			</li>
 			<li>
-			Object Teams programs perform the weaving at application <em>startup time</em>, i.e. at the moment, the program is launched. In order to do this, there is the so-called <em>Object Teams Runtime Environment (OTRE)</em>, that wraps around the standard launching procedure.
+			Object Teams programs perform the weaving at application <em>startup time</em>, i.e. at the moment, the program is launched. In order to do this, there is the so-called <em>Object Teams Runtime Environment (OTRE)</em>, that hooks into the class-loading process.
 			</li>
 			<li>
 			All this is handled transparently using the standard Eclipse "Run" feature.
@@ -355,7 +356,6 @@
 			<dd><ul>
 			    <li>Dynamic code evaluation is not supported yet, 
 			    make sure to clear the Expression view.</li>
-			    <li>Hot code replacement of woven code is not supported.</li>
 			  </ul></dd>
 			</dl>
 			
diff --git a/plugins/org.eclipse.objectteams.otdt.doc/guide/syntaxhighlight.html b/plugins/org.eclipse.objectteams.otdt.doc/guide/syntaxhighlight.html
index b04a679..546889a 100644
--- a/plugins/org.eclipse.objectteams.otdt.doc/guide/syntaxhighlight.html
+++ b/plugins/org.eclipse.objectteams.otdt.doc/guide/syntaxhighlight.html
@@ -10,7 +10,7 @@
   <body>
     <h1>OT/J syntax highlighting</h1>
 	<p>In addition to the <b>syntax highlighting</b> for standard Java keywords and
-	modifiers incorporated in the <a href="/help/topic/org.eclipse.jdt.doc.user/concepts/concepts-7.htm">Java editor</a>,
+	modifiers incorporated in the <a href="/help/topic/org.eclipse.jdt.doc.user/concepts/concepts-java-editor.htm">Java editor</a>,
 	the new Object Teams specific keywords and modifiers like <code class="keyword">team, playedBy, callin,
 	base, within</code> etc. are also highlighted for better accentuation and clearness.
 	</p>
diff --git a/plugins/org.eclipse.objectteams.otdt.doc/guide/wizards.html b/plugins/org.eclipse.objectteams.otdt.doc/guide/wizards.html
index d08f78f..1dcef28 100644
--- a/plugins/org.eclipse.objectteams.otdt.doc/guide/wizards.html
+++ b/plugins/org.eclipse.objectteams.otdt.doc/guide/wizards.html
@@ -38,7 +38,7 @@
 	<p>
 	  <img src="images/screenshots/roleWizard.jpg"
 	  	   alt="Wizard for creating a new role class">
-	</p>    
+	</p>
     <h3>Opening the role wizard</h3>
     The easiest way to create a new role class is to use the role wizard.
     First select the container where you want the new role class to reside.
@@ -54,7 +54,8 @@
     dialog respectively. The fully qualified name of the enclosing team is displayed unless
     it stands in the default package. A role is inlined by default, i.e. a role is defined
     inside the specified enclosing team. If an external role should be created the checkbox
-    "inlined" has to be deselected.<br>
+    "inlined" has to be deselected
+    (<a href="otjld/def/s1.html#s1.2.5"><img src="../images/ot_paragraph.png"> OTJLD &sect;1.2.5</a>).<br>
 	<h4>Role name</h4>
     A valid name for the new role class must be entered. The type name is mandatory.<br>
   	<h4>Modifiers</h4>
@@ -64,8 +65,9 @@
 	<h4>Implicit superclass</h4>
     The implicit superclass field is set automatically if the entered type name matches a
     role type which already exists in a team class which is present in the supertype
-    hierarchy of the enclosing team. The fully qualified name of the implicit superclass is
-    then shown.<br>
+    hierarchy of the enclosing team 
+    (<a href="otjld/def/s1.html#s1.3.1"><img src="../images/ot_paragraph.png"> OTJLD &sect;1.3.1</a>). 
+    The fully qualified name of the implicit superclass is then shown.<br>
 	<h4>Explicit superclass</h4>
     Initially the explicit superclass is set to	"java.lang.Object". It can be changed by
     clicking the <b>Browse...</b> button and selecting a class from the selection dialog.
@@ -73,13 +75,18 @@
     regular class other than team classes.<br>
 	<h4>Bound base class</h4>
 	A bound base class can be defined by clicking the <b>Browse...</b> button and selecting
-	a class from the selection dialog. A bound base class can be any class.<br>
+	a class from the selection dialog. A bound base class can be any class.
+	(<a href="otjld/def/s2.html#s2.1"><img src="../images/ot_paragraph.png"> OTJLD &sect;2.1</a>)<br>
 	<h4>Interfaces</h4>
 	Interfaces which the role should implement can be added/removed with the <b>Add.../
 	Remove</b> buttons.
 	<h4>Method stubs</h4>	
 	Method stubs for inherited abstract methods	can be created by selecting the	according
-	checkbox. The checkbox is selected by default.
+	checkbox. Note, that this option includes those	abstract methods that are inherited
+	from an implicit super role 
+	(<a href="otjld/def/s1.html#s1.3.1"><img src="../images/ot_paragraph.png"> OTJLD &sect;1.3.1</a>).
+	</p> 
+	The checkbox is selected by default.
     <h3>Resulting effects</h3>
     By clicking the <b>Finish</b> button the role with the chosen properties is created
     inside the enclosing team, or, in the case of an external role, in a package which has
