diff --git a/Doc/Common/bibliography.xml b/Doc/Common/bibliography.xml
index 60e7b81a1b6427ad686f5eac99138e3e4157198e..74a16c58bf3ff405857dc2a66c9e2b87b20b24b1 100644
--- a/Doc/Common/bibliography.xml
+++ b/Doc/Common/bibliography.xml
@@ -421,6 +421,17 @@
     <abbrev>JAXP</abbrev></title>
   </biblioentry>
 
+  <biblioentry xml:id="bib_TutorialspointJunit">
+    <abbrev>TutorialsPointJunit</abbrev>
+
+    <publisher>
+      <publishername>tutorialspoint.com</publishername>
+    </publisher>
+
+    <title><link xlink:href="https://www.tutorialspoint.com/junit">JUnit
+    Tutorial</link></title>
+  </biblioentry>
+
   <biblioentry xml:id="bib_Ullenboom2011">
     <abbrev>Ullenboom2011</abbrev>
 
@@ -465,6 +476,24 @@
     <title>Java ist auch eine Insel</title>
   </biblioentry>
 
+  <biblioentry xml:id="bib_Vogella2016">
+    <abbrev>Vogella2016</abbrev>
+
+    <author>
+      <personname>Vogella GmbH</personname>
+    </author>
+
+    <date>06/2016</date>
+
+    <edition>Version 4.3</edition>
+
+    <publisher>
+      <publishername>Vogella GmbH</publishername>
+    </publisher>
+
+    <title>Unit Testing with JUnit - Tutorial</title>
+  </biblioentry>
+
   <biblioentry xlink:href="https://proquest.safaribooksonline.com/book/web-development/xml/9780132886741"
                xml:id="bib_Walmsley02">
     <abbrev>Walmsley2002</abbrev>
diff --git a/Doc/Sd1/objectsClasses.xml b/Doc/Sd1/objectsClasses.xml
index 7b2df64d8d3a9d0ae6215e6a7a389c6ce3e0b98f..fa5faef499d8b52e3be95e42779ffda328c0ff6e 100644
--- a/Doc/Sd1/objectsClasses.xml
+++ b/Doc/Sd1/objectsClasses.xml
@@ -5107,7 +5107,7 @@ Largest long value:9223372036854775807</screen></td>
           <tr>
             <td valign="top"><programlisting language="java">package
 de.hdm_stuttgart.de.mi.sd1;   
-public class Helper {
+<link xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sd1/Ref/ObjectsAndClasses/DependencyExample/Helper/src/main/java/de/hdm_stuttgart/de/mi/sd1/Helper.java">public class Helper</link> {
   static public long
     factorial(int n) {  
     long result = 1;
@@ -5119,7 +5119,8 @@ public class Helper {
   }
 }</programlisting></td>
 
-            <td valign="top"><programlisting language="xml">&lt;project xmlns="http://maven.apache.org...&gt;
+            <td valign="top"><programlisting language="xml"><link
+                  xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sd1/Ref/ObjectsAndClasses/DependencyExample/Helper/pom.xml">&lt;project xmlns="http://maven.apache.org...&gt;</link>
  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
  &lt;groupId&gt;<emphasis role="red">de.hdm_stuttgart.de.mi.sd1</emphasis>&lt;/groupId&gt;      
@@ -5177,7 +5178,8 @@ Archive:  .../.m2/repository/.../sd1/helper/0.9/helper-0.9.jar
         <title>Consuming project »<link
         xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/tree/master/Doc/Sd1/Ref/ObjectsAndClasses/DependencyExample/Lottery">Lottery</link>«</title>
 
-        <programlisting language="none">&lt;project xmlns="http://maven.apache.org/POM/4.0.0" ...&gt;
+        <programlisting language="none"><link
+            xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sd1/Ref/ObjectsAndClasses/DependencyExample/Lottery/pom.xml">&lt;project xmlns="http://maven.apache.org/POM/4.0.0" ...&gt;</link>
   ...
   &lt;groupId&gt;de.hdm_stuttgart.mi.sd1&lt;/groupId&gt;
   &lt;artifactId&gt;lottery&lt;/artifactId&gt;
@@ -9178,6 +9180,20 @@ After printDuplicateValue: <emphasis role="red">6</emphasis></screen></td>
     <para>Some parts of the examination require implementing methods adhering
     to a given specification. Consider an example:</para>
 
+    <figure xml:id="sd1_fig_testRecommendedReading">
+      <title>Recommended reading</title>
+
+      <itemizedlist>
+        <listitem>
+          <para><xref linkend="bib_Vogella2016"/></para>
+        </listitem>
+
+        <listitem>
+          <para><xref linkend="bib_TutorialspointJunit"/></para>
+        </listitem>
+      </itemizedlist>
+    </figure>
+
     <figure xml:id="sd1_fig_testCategories">
       <title>Test categories</title>
 
@@ -9388,7 +9404,8 @@ public class Prime {
       <title>Step 3: <xref linkend="glo_Junit"/> based specification
       test</title>
 
-      <programlisting language="java">public class PrimeTest {
+      <programlisting language="java">public class <link
+          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sd1/Ref/ObjectsAndClasses/Tests/Prime_v01/src/test/java/de/hdm_stuttgart/mi/sd1/PrimeTest.java">PrimeTest</link> {
   
   @Test public void test_1_isNotPrime() {
     Assert.assertFalse(Prime.isPrime(1));
@@ -9466,7 +9483,8 @@ java.lang.AssertionError
     <figure xml:id="sd1_fig_primeMoreExamples">
       <title>Step 3: More prime tests</title>
 
-      <programlisting language="java">@Test public void test_Primes() {
+      <programlisting language="java">@Test public void <link
+          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sd1/Ref/ObjectsAndClasses/Tests/Prime_v01/src/test/java/de/hdm_stuttgart/mi/sd1/PrimeTest.java">test_Primes()</link> {
   Assert.assertTrue(Prime.isPrime(3));
   Assert.assertTrue(Prime.isPrime(5));
   Assert.assertTrue(Prime.isPrime(7));
@@ -9483,7 +9501,8 @@ java.lang.AssertionError
     <figure xml:id="sd1_fig_firstNegTestSpecMassExamples">
       <title>Step 3: Prime mass testing</title>
 
-      <programlisting language="java">@Test public void testEvenNonPrimes() {
+      <programlisting language="java">@Test public void <link
+          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sd1/Ref/ObjectsAndClasses/Tests/Prime_v01/src/test/java/de/hdm_stuttgart/mi/sd1/PrimeTest.java">testEvenNonPrimes()</link> {
   for (int i = 2; i &lt; 100; i++) {
     Assert.assertFalse(Prime.isPrime(2 * i));
   }
@@ -9496,7 +9515,8 @@ java.lang.AssertionError
     <figure xml:id="sd1_fig_firstNegCorrectImplement">
       <title>Step 4: Implement skeleton</title>
 
-      <programlisting language="java">public static boolean isPrime(int value) {
+      <programlisting language="java">public static boolean <link
+          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sd1/Ref/ObjectsAndClasses/Tests/Prime_v01/src/main/java/de/hdm_stuttgart/mi/sd1/Prime.java">isPrime</link>(int value) {
   for (int i = 2; i &lt; value; i++) {
     if (0 == value % i) { // i divides value
       return false;
@@ -9566,7 +9586,8 @@ Results :
     <figure xml:id="sd1_fig_primeV2ImplementCorrect">
       <title>Correcting the implementation</title>
 
-      <programlisting language="none">public static boolean isPrime(int value) {
+      <programlisting language="none">public static boolean <link
+          xlink:href="https://gitlab.mi.hdm-stuttgart.de/goik/GoikLectures/blob/master/Doc/Sd1/Ref/ObjectsAndClasses/Tests/Prime_v02/src/main/java/de/hdm_stuttgart/mi/sd1/Prime.java">isPrime</link>(int value) {
     for (int i = 2; i * i <emphasis role="red">&lt;=</emphasis> value; i++) {
       if (0 == value % i) {
         return false;