diff --git a/Doc/Sd1/objectsClasses.xml b/Doc/Sd1/objectsClasses.xml
index c98d47ec318662980d260cdab58821668aaf7ca3..fe50a9fc961e2374586e3ca51524c513451c779c 100644
--- a/Doc/Sd1/objectsClasses.xml
+++ b/Doc/Sd1/objectsClasses.xml
@@ -505,188 +505,6 @@ public class Print {
         </tr>
       </informaltable>
     </figure>
-
-    <qandaset defaultlabel="qanda" xml:id="sd1_qanda_defineStringClass">
-      <title>Your personal <classname>String</classname> class</title>
-
-      <qandadiv>
-        <qandaentry>
-          <question>
-            <para>This exercise is about using packages for resolving class
-            name clashes.</para>
-
-            <para>Define your own class <classname>String</classname> having a
-            suitable constructor and a <methodname>public String
-            toString()</methodname> method allowing for the following
-            snippet:</para>
-
-            <programlisting language="java">public static void main(...) {
-  String john = new String("John");
-  System.out.println("Name: " + john);
-  System.out.println(john.sayHello());
-}</programlisting>
-
-            <para>The expected output reads:</para>
-
-            <screen>Name: John
-Hello 'John'</screen>
-
-            <tip>
-              <para>Your classes constructor is bound to accept standard <xref
-              linkend="glo_Java"/> string literals. Using <classname
-              xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">java.lang.String</classname>
-              internally requires a fully qualified class name.</para>
-            </tip>
-          </question>
-
-          <answer>
-            <para>We implement our <classname>String</classname> class in a
-            package <package>de.hdm_stuttgart.mi.sd1.tooling</package>:</para>
-
-            <programlisting language="java">package de.hdm_stuttgart.mi.sd1.tooling;
-
-public class String { <co linkends="sd1_callout_createStringClass-1.2"
-                xml:id="sd1_callout_createStringClass-1.3-co"/>
-
-    final java.lang.String s; <co linkends="sd1_callout_createStringClass-2.2"
-                xml:id="sd1_callout_createStringClass-2.2-co"/>
-
-    public String(final java.lang.String s <co
-                linkends="sd1_callout_createStringClass-3.2"
-                xml:id="sd1_callout_createStringClass-3.2-co"/>) { 
-        this.s = s;
-    }
-
-    public java.lang.String <co linkends="sd1_callout_createStringClass-4"
-                xml:id="sd1_callout_createStringClass-4-co"/> sayHello() {
-        return "Hello '" + s + "', good morning!";
-    }
-}</programlisting>
-
-            <calloutlist>
-              <callout arearefs="sd1_callout_createStringClass-1.3-co"
-                       xml:id="sd1_callout_createStringClass-1.2">
-                <para>Shadowing <xref linkend="glo_Java"/> <package
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>.</para>
-              </callout>
-
-              <callout arearefs="sd1_callout_createStringClass-2.2-co"
-                       xml:id="sd1_callout_createStringClass-2.2">
-                <para>Using a standard <xref linkend="glo_Java"/> <package
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
-                instance internally. Fully qualified class name required
-                resolving potential name clash.</para>
-              </callout>
-
-              <callout arearefs="sd1_callout_createStringClass-3.2-co"
-                       xml:id="sd1_callout_createStringClass-3.2">
-                <para>Our constructor also accepts a standard <xref
-                linkend="glo_Java"/> <package
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
-                instance.</para>
-              </callout>
-
-              <callout arearefs="sd1_callout_createStringClass-4-co"
-                       xml:id="sd1_callout_createStringClass-4">
-                <para>Returning a <package
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
-                instance.</para>
-              </callout>
-            </calloutlist>
-
-            <para>There are basically two ways using
-            <package>de.hdm_stuttgart.mi.sd1.tooling</package>.<classname>String</classname>
-            and <package
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
-            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
-            in the same scope:</para>
-
-            <glosslist>
-              <glossentry>
-                <glossterm>Fully qualify <package
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
-                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>:</glossterm>
-
-                <glossdef>
-                  <programlisting language="java">package de.hdm_stuttgart.mi;
-
-import de.hdm_stuttgart.mi.sd1.tooling.String;
-
-public class Main {
-
-    public static void main(java.lang.String <co
-                      linkends="sd1_callout_createStringAnswer1-1"
-                      xml:id="sd1_callout_createStringAnswer1-1-co"/> [] args) {
-        String <co linkends="sd1_callout_createStringAnswer1-2"
-                      xml:id="sd1_callout_createStringAnswer1-2-co"/> s = new String("John");
-        System.out.println(s.sayHello());
-    }
-}</programlisting>
-
-                  <calloutlist>
-                    <callout arearefs="sd1_callout_createStringAnswer1-1-co"
-                             xml:id="sd1_callout_createStringAnswer1-1">
-                      <para>Qualifying is required to avoid shadowing by
-                      <package>de.hdm_stuttgart.mi.sd1.tooling</package>.<classname>String</classname>.</para>
-                    </callout>
-
-                    <callout arearefs="sd1_callout_createStringAnswer1-2-co"
-                             xml:id="sd1_callout_createStringAnswer1-2">
-                      <para>Due to the <code language="java">import</code>
-                      statement this is actually
-                      <package>de.hdm_stuttgart.mi.sd1.tooling</package>.<classname>String</classname>.</para>
-                    </callout>
-                  </calloutlist>
-                </glossdef>
-              </glossentry>
-
-              <glossentry>
-                <glossterm>Fully qualify
-                <package>de.hdm_stuttgart.mi.sd1.tooling</package>.<classname>String</classname>:</glossterm>
-
-                <glossdef>
-                  <programlisting language="java">package de.hdm_stuttgart.mi;
-
-public class Main {
-
-    public static void main(String <co
-                      linkends="sd1_callout_createStringAnswer2-1"
-                      xml:id="sd1_callout_createStringAnswer2-1-co"/> [] args) {
-        de.hdm_stuttgart.mi.sd1.tooling.String <co
-                      linkends="sd1_callout_createStringAnswer2-2"
-                      xml:id="sd1_callout_createStringAnswer2-2-co"/> s = 
-                new de.hdm_stuttgart.mi.sd1.tooling.String("John");
-        System.out.println(s.sayHello());
-    }
-}</programlisting>
-
-                  <calloutlist>
-                    <callout arearefs="sd1_callout_createStringAnswer2-1-co"
-                             xml:id="sd1_callout_createStringAnswer2-1">
-                      <para>A <xref linkend="glo_Java"/> standard <classname
-                      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
-                      instance.</para>
-                    </callout>
-
-                    <callout arearefs="sd1_callout_createStringAnswer2-2-co"
-                             xml:id="sd1_callout_createStringAnswer2-2">
-                      <para>In order not to override the implicit import
-                      java.lang.String we have to fully qualify our own
-                      <package>de.hdm_stuttgart.mi.sd1.tooling</package>.<classname>String</classname>
-                      class.</para>
-                    </callout>
-                  </calloutlist>
-                </glossdef>
-              </glossentry>
-            </glosslist>
-          </answer>
-        </qandaentry>
-      </qandadiv>
-    </qandaset>
   </section>
 
   <section xml:id="sd1_sect_methods">
@@ -1560,6 +1378,201 @@ public void writeSvg() {
       </qandadiv>
     </qandaset>
 
+    <qandaset defaultlabel="qanda" xml:id="sd1_qanda_defineStringClass">
+      <title>Your personal <classname>String</classname> class</title>
+
+      <qandadiv>
+        <qandaentry>
+          <question>
+            <para>This exercise is about using packages for resolving class
+            name clashes.</para>
+
+            <para>Define your own <classname>String</classname> class having a
+            suitable constructor and a <methodname>public String
+            toString()</methodname> method allowing for the following
+            snippet:</para>
+
+            <programlisting language="java">public static void main(...) {
+  String john = new String("John");
+  System.out.println("Name: " + john);
+  System.out.println(john.sayHello());
+}</programlisting>
+
+            <para>The expected output reads:</para>
+
+            <screen>Name: John
+Hello 'John'</screen>
+
+            <tip>
+              <orderedlist>
+                <listitem>
+                  <para>Use a <package
+                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+                  instance variable inside your private
+                  <classname>String</classname> class.</para>
+                </listitem>
+
+                <listitem>
+                  <para>Your class' constructor is bound to accept standard
+                  <xref linkend="glo_Java"/> string literals. Using <classname
+                  xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">java.lang.String</classname>
+                  internally requires a fully qualified class name.</para>
+                </listitem>
+              </orderedlist>
+            </tip>
+          </question>
+
+          <answer>
+            <para>We implement our private <classname>String</classname> class
+            in a package
+            <package>de.hdm_stuttgart.mi.sd1.tooling</package>:</para>
+
+            <programlisting language="java">package de.hdm_stuttgart.mi.sd1.tooling;
+
+public class String { <co linkends="sd1_callout_createStringClass-1.2"
+                xml:id="sd1_callout_createStringClass-1.3-co"/>
+
+    final java.lang.String s; <co linkends="sd1_callout_createStringClass-2.2"
+                xml:id="sd1_callout_createStringClass-2.2-co"/>
+
+    public String(final java.lang.String s <co
+                linkends="sd1_callout_createStringClass-3.2"
+                xml:id="sd1_callout_createStringClass-3.2-co"/>) { 
+        this.s = s;
+    }
+
+    public java.lang.String <co linkends="sd1_callout_createStringClass-4"
+                xml:id="sd1_callout_createStringClass-4-co"/> sayHello() {
+        return "Hello '" + s + "', good morning!";
+    }
+}</programlisting>
+
+            <calloutlist>
+              <callout arearefs="sd1_callout_createStringClass-1.3-co"
+                       xml:id="sd1_callout_createStringClass-1.2">
+                <para>Shadowing <xref linkend="glo_Java"/> <package
+                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>.</para>
+              </callout>
+
+              <callout arearefs="sd1_callout_createStringClass-2.2-co"
+                       xml:id="sd1_callout_createStringClass-2.2">
+                <para>Using a standard <xref linkend="glo_Java"/> <package
+                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+                instance internally. Fully qualified class name required
+                resolving potential name clash.</para>
+              </callout>
+
+              <callout arearefs="sd1_callout_createStringClass-3.2-co"
+                       xml:id="sd1_callout_createStringClass-3.2">
+                <para>Our constructor also accepts a standard <xref
+                linkend="glo_Java"/> <package
+                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+                instance.</para>
+              </callout>
+
+              <callout arearefs="sd1_callout_createStringClass-4-co"
+                       xml:id="sd1_callout_createStringClass-4">
+                <para>Returning a <package
+                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+                instance.</para>
+              </callout>
+            </calloutlist>
+
+            <para>There are basically two ways using
+            <package>de.hdm_stuttgart.mi.sd1.tooling</package>.<classname>String</classname>
+            and <package
+            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+            xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+            in the same scope:</para>
+
+            <glosslist>
+              <glossentry>
+                <glossterm>Fully qualify <package
+                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/package-summary.html">java.lang</package>.<classname
+                xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>:</glossterm>
+
+                <glossdef>
+                  <programlisting language="java">package de.hdm_stuttgart.mi;
+
+import de.hdm_stuttgart.mi.sd1.tooling.String;
+
+public class Main {
+
+    public static void main(java.lang.String <co
+                      linkends="sd1_callout_createStringAnswer1-1"
+                      xml:id="sd1_callout_createStringAnswer1-1-co"/> [] args) {
+        String <co linkends="sd1_callout_createStringAnswer1-2"
+                      xml:id="sd1_callout_createStringAnswer1-2-co"/> s = new String("John");
+        System.out.println(s.sayHello());
+    }
+}</programlisting>
+
+                  <calloutlist>
+                    <callout arearefs="sd1_callout_createStringAnswer1-1-co"
+                             xml:id="sd1_callout_createStringAnswer1-1">
+                      <para>Qualifying is required to avoid shadowing by
+                      <package>de.hdm_stuttgart.mi.sd1.tooling</package>.<classname>String</classname>.</para>
+                    </callout>
+
+                    <callout arearefs="sd1_callout_createStringAnswer1-2-co"
+                             xml:id="sd1_callout_createStringAnswer1-2">
+                      <para>Due to the <code language="java">import</code>
+                      statement this is actually
+                      <package>de.hdm_stuttgart.mi.sd1.tooling</package>.<classname>String</classname>.</para>
+                    </callout>
+                  </calloutlist>
+                </glossdef>
+              </glossentry>
+
+              <glossentry>
+                <glossterm>Fully qualify
+                <package>de.hdm_stuttgart.mi.sd1.tooling</package>.<classname>String</classname>:</glossterm>
+
+                <glossdef>
+                  <programlisting language="java">package de.hdm_stuttgart.mi;
+
+public class Main {
+
+    public static void main(String <co
+                      linkends="sd1_callout_createStringAnswer2-1"
+                      xml:id="sd1_callout_createStringAnswer2-1-co"/> [] args) {
+        de.hdm_stuttgart.mi.sd1.tooling.String <co
+                      linkends="sd1_callout_createStringAnswer2-2"
+                      xml:id="sd1_callout_createStringAnswer2-2-co"/> s = 
+                new de.hdm_stuttgart.mi.sd1.tooling.String("John");
+        System.out.println(s.sayHello());
+    }
+}</programlisting>
+
+                  <calloutlist>
+                    <callout arearefs="sd1_callout_createStringAnswer2-1-co"
+                             xml:id="sd1_callout_createStringAnswer2-1">
+                      <para>A <xref linkend="glo_Java"/> standard <classname
+                      xlink:href="https://docs.oracle.com/javase/9/docs/api/java/lang/String.html">String</classname>
+                      instance.</para>
+                    </callout>
+
+                    <callout arearefs="sd1_callout_createStringAnswer2-2-co"
+                             xml:id="sd1_callout_createStringAnswer2-2">
+                      <para>In order not to override the implicit import
+                      java.lang.String we have to fully qualify our own
+                      <package>de.hdm_stuttgart.mi.sd1.tooling</package>.<classname>String</classname>
+                      class.</para>
+                    </callout>
+                  </calloutlist>
+                </glossdef>
+              </glossentry>
+            </glosslist>
+          </answer>
+        </qandaentry>
+      </qandadiv>
+    </qandaset>
+
     <section xml:id="sd1_sect_accessControl">
       <title>Encapsulation and access control</title>
 
@@ -2890,9 +2903,9 @@ public class Driver {
                 </listitem>
 
                 <listitem>
-                  <para>Moving your <classname>Employee</classname> class from
+                  <para>Move your <classname>Employee</classname> class from
                   its current package <package>company</package> to
-                  <package>model</package> but leaving your
+                  <package>model</package> but leave your
                   <classname>Driver</classname> class in its current package
                   <package>company</package>. You may simply use your <xref
                   linkend="glo_IDE"/>'s <acronym>drag'n drop</acronym>
@@ -2901,7 +2914,7 @@ public class Driver {
               </itemizedlist>
 
               <para>What do you observe? Explain this result. How do you solve
-              this problem?</para>
+              the new problem?</para>
 
               <tip>
                 <para>Read the section on <code language="java">public</code>,
@@ -2914,10 +2927,9 @@ public class Driver {
             <answer>
               <para>Moving the <classname>Employee</classname> class from its
               <package>company</package> package to <package>model</package>
-              changes just one line of code in
-              <filename>Employee.java</filename> namely its <code
-              language="java">package</code> declaration. It also adds an
-              <code language="java">import</code> statement</para>
+              changes just one line of code in your
+              <filename>Employee.java</filename> class namely its <code
+              language="java">package</code> declaration:</para>
 
               <informaltable border="1">
                 <colgroup width="45%"/>
@@ -2945,11 +2957,11 @@ public class Employee {
                 </tr>
               </informaltable>
 
-              <para>The movement also adds an additional line of code in our
-              <classname>Driver</classname> class which is required since our
+              <para>The movement also adds an additional <code
+              language="java">import</code> statement to your
+              <classname>Driver</classname> class which is required since the
               <classname>Employee</classname> class now resides in a different
-              package (We may have other <classname>Employee</classname>
-              classes within other packages):</para>
+              package:</para>
 
               <informaltable border="1">
                 <colgroup width="45%"/>
@@ -2969,9 +2981,9 @@ public class Driver {
 
                   <td align="center">⟹</td>
 
-                  <td valign="top"><programlisting language="java">package company;
+                  <td valign="top"><programlisting language="none">package company;
 
-<emphasis role="bold">import model.Employee;</emphasis>
+<emphasis role="red">import model.Employee;</emphasis>
 
 public class Driver {
 
@@ -2981,9 +2993,10 @@ public class Driver {
                 </tr>
               </informaltable>
 
-              <para>Unfortunately our <classname>Driver</classname> class
-              still residing in our <package>company</package> package will no
-              longer compile:</para>
+              <para>Unfortunately a <classname>Driver</classname> class still
+              residing in our <package>company</package> package will no
+              longer compile due to a newly introduced access
+              restriction:</para>
 
               <programlisting language="java">package company;
 
@@ -3005,11 +3018,11 @@ public class Driver {
               the Encapsulation and Access Control section of <xref
               linkend="bib_Kurniawan2015"/>: The attributes
               <property>age</property> and <property>salary</property> have no
-              access modifiers at all hence <quote>default</quote> access is
-              being granted. Default access type prohibits classes belonging
-              to other packages accessing the attributes in question. More
-              clearly: Members from class <classname>Driver</classname> have
-              no permission to access either <property>age</property> or
+              access modifiers at all. Hence <quote>default</quote> access
+              prohibits classes belonging to other packages accessing the
+              attributes in question. More clearly: Members from class
+              <classname>Driver</classname> have no permission to access
+              either <property>age</property> or
               <property>salary</property>.</para>
 
               <para>There are two possible ways to overcome this
@@ -3102,7 +3115,7 @@ public class Driver {
       </qandaset>
 
       <qandaset defaultlabel="qanda" xml:id="sw1QandaEmployeeConstructorThis">
-        <title>Constructors and variable names</title>
+        <title>Constructors variable names and <quote>this</quote>.</title>
 
         <qandadiv>
           <qandaentry>