diff --git a/Erica/Benutzerprofil.java b/Erica/Benutzerprofil.java
deleted file mode 100644
index b1d1ff74ac1ac003414dd564159383fe87f3d819..0000000000000000000000000000000000000000
--- a/Erica/Benutzerprofil.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package Erica;
-
-/**
- * Beschreiben Sie hier die Klasse Benutzerprofil.
- * 
- * @author (Ihr Name) 
- * @version (eine Versionsnummer oder ein Datum)
- */
-public class Benutzerprofil implements ComparableContent<Benutzerprofil>
-{
-    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
-    private String benutzername;
-
-    /**
-     * Konstruktor für Objekte der Klasse Benutzerprofil
-     */
-    public Benutzerprofil(String login, String pw)
-    {
-        // Instanzvariable initialisieren
-        login = benutzername;
-    }
-    
-    public boolean isGreater(Benutzerprofil pk)
-    {
-        return true;
-    }
-
-    public boolean isLess(Benutzerprofil pk)
-    {
-        return true;
-    }
-    
-    public boolean isEqual(Benutzerprofil pk)
-    {
-        return true;
-    }    
-    
-    public String gibBenutzername()
-    {
-        // tragen Sie hier den Code ein
-        return benutzername;
-    }
-    
-    
-}
diff --git a/Erica/Benutzerverwaltung.java b/Erica/Benutzerverwaltung.java
deleted file mode 100644
index b301d1f261ae805d0b17bc4c33a9b8141eb227f8..0000000000000000000000000000000000000000
--- a/Erica/Benutzerverwaltung.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package Erica;
-
-/**
- * Beschreiben Sie hier die Klasse Benutzerverwaltung.
- * 
- * @author (Ihr Name) 
- * @version (eine Versionsnummer oder ein Datum)
- */
-public class Benutzerverwaltung
-{
-    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
-    private BinarySearchTree<Benutzerprofil> benutzerBaum;
-
-    /**
-     * Konstruktor für Objekte der Klasse Benutzerverwaltung
-     */
-    public Benutzerverwaltung()
-    {
-        // Instanzvariable initialisieren
-        benutzerBaum = new BinarySearchTree();
-        
-        benutzerBaum.insert(new Benutzerprofil("yoki33", "passwort"));
-        benutzerBaum.insert(new Benutzerprofil("alfred65", "passwort"));
-        benutzerBaum.insert(new Benutzerprofil("chuck73", "passwort"));
-        benutzerBaum.insert(new Benutzerprofil("jan62", "passwort"));
-        benutzerBaum.insert(new Benutzerprofil("michelle73", "passwort"));
-        benutzerBaum.insert(new Benutzerprofil("susi81", "passwort"));
-        benutzerBaum.insert(new Benutzerprofil("udo86", "passwort"));
-        benutzerBaum.insert(new Benutzerprofil("ayce90", "passwort"));
-        benutzerBaum.insert(new Benutzerprofil("frank78", "passwort"));
-        benutzerBaum.insert(new Benutzerprofil("max62", "passwort"));
-        benutzerBaum.insert(new Benutzerprofil("tina90", "passwort"));
-        benutzerBaum.insert(new Benutzerprofil("elfriede41", "passwort"));
-        benutzerBaum.insert(new Benutzerprofil("pia96", "passwort"));
-        benutzerBaum.insert(new Benutzerprofil("gerd44", "passwort"));
-    }
-
-    public void neuenNutzerAnlegen(String pBenutzername, String pPw)
-    {
-        benutzerBaum.insert(new Benutzerprofil(pBenutzername, pPw));
-    }
-    
-    public void benutzerLoeschen(String pBenutzername, String pPw)
-    {
-        benutzerBaum.remove(new Benutzerprofil(pBenutzername, pPw));
-    }
-    
-    public void profilVorhanden(String pBenutzername)
-    {
-        boolean vorhanden = false;
-        
-        benutzerBaum.search();
-
-    }
-    
-}
diff --git a/Erica/BinarySearchTree.java b/Erica/BinarySearchTree.java
deleted file mode 100644
index 0e29a052cd20533f12122b39e2937997de917bbd..0000000000000000000000000000000000000000
--- a/Erica/BinarySearchTree.java
+++ /dev/null
@@ -1,261 +0,0 @@
-package Erica;
-/**
- * <p>
- * Materialien zu den zentralen NRW-Abiturpruefungen im Fach Informatik ab 2018
- * </p>
- * <p>
- * Generische Klasse BinarySearchTree<ContentType>
- * </p>
- * <p>
- * Mithilfe der generischen Klasse BinarySearchTree koennen beliebig viele
- * Objekte in einem Binaerbaum (binaerer Suchbaum) entsprechend einer
- * Ordnungsrelation verwaltet werden. <br />
- * Ein Objekt der Klasse stellt entweder einen leeren binaeren Suchbaum dar oder
- * verwaltet ein Inhaltsobjekt sowie einen linken und einen rechten Teilbaum,
- * die ebenfalls Objekte der Klasse BinarySearchTree sind.<br />
- * Die Klasse der Objekte, die in dem Suchbaum verwaltet werden sollen, muss
- * das generische Interface ComparableContent implementieren. Dabei muss durch
- * Ueberschreiben der drei Vergleichsmethoden isLess, isEqual, isGreater (s.
- * Dokumentation des Interfaces) eine eindeutige Ordnungsrelation festgelegt
- * sein. <br />
- * Alle Objekte im linken Teilbaum sind kleiner als das Inhaltsobjekt des
- * binaeren Suchbaums. Alle Objekte im rechten Teilbaum sind groesser als das
- * Inhaltsobjekt des binaeren Suchbaums. Diese Bedingung gilt (rekursiv) auch in
- * beiden Teilbaeumen. <br />
- * Hinweis: In dieser Version wird die Klasse BinaryTree nicht benutzt.
- * </p>
- * 
- * @author Qualitaets- und UnterstuetzungsAgentur - Landesinstitut fuer Schule
- * @version Generisch_03 2017-11-28
- */
-public class BinarySearchTree<ContentType extends ComparableContent<ContentType>> {
-
-    /* --------- Anfang der privaten inneren Klasse -------------- */
-
-    /**
-     * Durch diese innere Klasse kann man dafuer sorgen, dass ein leerer Baum
-     * null ist, ein nicht-leerer Baum jedoch immer eine nicht-null-Wurzel sowie
-     * nicht-null-Teilbaeume hat.
-     */
-    private class BSTNode<CT extends ComparableContent<CT>> {
-      
-        private CT content;
-        private BinarySearchTree<CT> left, right;
-
-        public BSTNode(CT pContent) {
-            // Der Knoten hat einen linken und rechten Teilbaum, die 
-            // beide von null verschieden sind. Also hat ein Blatt immer zwei 
-            // leere Teilbaeume unter sich.
-            this.content = pContent;
-            left = new BinarySearchTree<CT>();
-            right = new BinarySearchTree<CT>();
-        }
-        
-    }
-
-    /* ----------- Ende der privaten inneren Klasse -------------- */
-
-    private BSTNode<ContentType> node;
-
-    /**
-     * Der Konstruktor erzeugt einen leeren Suchbaum.
-     */
-    public BinarySearchTree() {
-        this.node = null;
-    }
-
-    /**
-     * Diese Anfrage liefert den Wahrheitswert true, wenn der Suchbaum leer ist,
-     * sonst liefert sie den Wert false.
-     * 
-     * @return true, wenn der binaere Suchbaum leer ist, sonst false
-     * 
-     */
-    public boolean isEmpty() {
-        return this.node == null;
-    }
-
-    /**
-     * Falls der Parameter null ist, geschieht nichts.<br />
-     * Falls ein bezueglich der verwendeten Vergleichsmethode isEqual mit
-     * pContent uebereinstimmendes Objekt im geordneten binaeren Suchbau
-     * enthalten ist, passiert nichts. <br />
-     * Achtung: hier wird davon ausgegangen, dass isEqual genau dann true
-     * liefert, wenn isLess und isGreater false liefern. <br />
-     * Andernfalls (isLess oder isGreater) wird das Objekt pContent entsprechend
-     * der vorgegebenen Ordnungsrelation in den BinarySearchTree eingeordnet.
-     * 
-     * @param pContent
-     *            einzufuegendes Objekt vom Typ ContentType
-     *            
-     */
-    public void insert(ContentType pContent) {
-        if (pContent != null) {
-            if (isEmpty()) {
-                this.node = new BSTNode<ContentType>(pContent);
-            } else if (pContent.isLess(this.node.content)) {
-                this.node.left.insert(pContent);
-            } else if(pContent.isGreater(this.node.content)) {
-                this.node.right.insert(pContent);
-            }
-        }
-    }
-
-    /**
-     * Diese Anfrage liefert den linken Teilbaum des binaeren Suchbaumes. <br />
-     * Wenn er leer ist, wird null zurueckgegeben.
-     * 
-     * @return den linken Teilbaum (Objekt vom Typ BinarySearchTree<ContentType>) 
-     *         bzw. null, wenn der Suchbaum leer ist
-     *         
-     */
-    public BinarySearchTree<ContentType> getLeftTree() {
-        if (this.isEmpty()) {
-            return null;
-        } else {
-            return this.node.left;
-        }
-    }
-
-    /**
-     * Diese Anfrage liefert das Inhaltsobjekt des Suchbaumes. Wenn der Suchbaum
-     * leer ist, wird null zurueckgegeben.
-     * 
-     * @return das Inhaltsobjekt vom Typ ContentType bzw. null, wenn der aktuelle
-     *         Suchbaum leer ist
-     *         
-     */
-    public ContentType getContent() {
-        if (this.isEmpty()) {
-            return null;
-        } else {
-            return this.node.content;
-        }
-    }
-
-    /**
-     * Diese Anfrage liefert den rechten Teilbaum des binaeren Suchbaumes. <br />
-     * Wenn er leer ist, wird null zurueckgegeben.
-     * 
-     * @return den rechten Teilbaum (Objekt vom Typ BinarySearchTree<ContentType>) 
-     *         bzw. null, wenn der aktuelle Suchbaum leer ist
-     *         
-     */
-    public BinarySearchTree<ContentType> getRightTree() {
-        if (this.isEmpty()) {
-            return null;
-        } else {
-            return this.node.right;
-        }
-    }
-
-    /**
-     * Falls ein bezueglich der verwendeten Vergleichsmethode mit
-     * pContent uebereinstimmendes Objekt im binaeren Suchbaum enthalten
-     * ist, wird dieses entfernt. Falls der Parameter null ist, aendert sich
-     * nichts.
-     * 
-     * @param pContent
-     *            zu entfernendes Objekt vom Typ ContentType
-     *            
-     */
-    public void remove(ContentType pContent) {
-        if (isEmpty() || pContent == null ) {
-            // Abbrechen, da kein Element zum entfernen vorhanden ist.
-          return;
-        }
-        
-        if (pContent.isLess(node.content)) {
-            // Element ist im linken Teilbaum zu loeschen.
-            node.left.remove(pContent);
-        } else if (pContent.isGreater(node.content)) {
-            // Element ist im rechten Teilbaum zu loeschen.
-            node.right.remove(pContent);
-        } else {
-            // Element ist gefunden.
-            if (node.left.isEmpty()) {
-                if (node.right.isEmpty()) {
-                    // Es gibt keinen Nachfolger.
-                    node = null;
-                } else {
-                    // Es gibt nur rechts einen Nachfolger.
-                    node = getNodeOfRightSuccessor();
-                }
-            } else if (node.right.isEmpty()) {
-                // Es gibt nur links einen Nachfolger.
-                node = getNodeOfLeftSuccessor();
-            } else {
-                // Es gibt links und rechts einen Nachfolger.
-                if (getNodeOfRightSuccessor().left.isEmpty()) {
-                    // Der rechte Nachfolger hat keinen linken Nachfolger.
-                    node.content = getNodeOfRightSuccessor().content;
-                    node.right = getNodeOfRightSuccessor().right;
-                } else {
-                    BinarySearchTree<ContentType> previous = node.right
-                            .ancestorOfSmallRight();
-                    BinarySearchTree<ContentType> smallest = previous.node.left;
-                    this.node.content = smallest.node.content;
-                    previous.remove(smallest.node.content);
-                }
-            }
-        }        
-    }
-
-    /**
-     * Falls ein bezueglich der verwendeten Vergleichsmethode isEqual mit
-     * pContent uebereinstimmendes Objekt im binaeren Suchbaum enthalten ist,
-     * liefert die Anfrage dieses, ansonsten wird null zurueckgegeben. <br />
-     * Falls der Parameter null ist, wird null zurueckgegeben.
-     * 
-     * @param pContent
-     *            zu suchendes Objekt vom Typ ContentType
-     * @return das gefundene Objekt vom Typ ContentType, bei erfolgloser Suche null
-     * 
-     */
-    public ContentType search(ContentType pContent) {
-        if (this.isEmpty() || pContent == null) {
-            // Abbrechen, da es kein Element zu suchen gibt.
-            return null;
-        } else {
-            ContentType content = this.getContent();
-            if (pContent.isLess(content)) {
-                // Element wird im linken Teilbaum gesucht.
-                return this.getLeftTree().search(pContent);
-            } else if (pContent.isGreater(content)) {
-                // Element wird im rechten Teilbaum gesucht.
-                return this.getRightTree().search(pContent);
-            } else if (pContent.isEqual(content)) {
-                // Element wurde gefunden.
-              return content;                
-            } else {    
-              // Dieser Fall sollte nicht auftreten.
-                return null;
-            }
-        }
-    }
-
-    /* ----------- Weitere private Methoden -------------- */
-
-    /**
-     * Die Methode liefert denjenigen Baum, dessen linker Nachfolger keinen linken
-     * Nachfolger mehr hat. Es ist also spaeter moeglich, in einem Baum im
-     * rechten Nachfolger den Vorgaenger des linkesten Nachfolgers zu finden.
-     * 
-     */
-    private BinarySearchTree<ContentType> ancestorOfSmallRight() {        
-        if (getNodeOfLeftSuccessor().left.isEmpty()) {
-            return this;
-        } else {
-            return node.left.ancestorOfSmallRight();
-        }
-    }
-
-    private BSTNode<ContentType> getNodeOfLeftSuccessor() {
-        return node.left.node;
-    }
-
-    private BSTNode<ContentType> getNodeOfRightSuccessor() {
-        return node.right.node;
-    }
-
-}
diff --git a/Erica/ComparableContent.java b/Erica/ComparableContent.java
deleted file mode 100644
index eb6f42ea1481dbe9d02dfb08e29a82632dedbde9..0000000000000000000000000000000000000000
--- a/Erica/ComparableContent.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package Erica;
- /**
- * <p>
- * Materialien zu den zentralen NRW-Abiturpruefungen im Fach Informatik ab 2018
- * </p>
- * <p>
- * Generisches Interface (Schnittstelle) ComparableContent<ContentType>
- * </p>
- * <p>
- * <p>Das generische Interface ComparableContent<ContentType> legt die Methoden
- * fest, ueber die Objekte verfuegen muessen, die in einen binaeren Suchbaum
- * (BinarySearchTree) eingefuegt werden sollen. Die Ordnungsrelation wird in
- * Klassen, die ComparableContent implementieren durch Ueberschreiben der drei
- * implizit abstrakten Methoden isGreater, isEqual und isLess festgelegt. 
- * </p>
- * </p>
- * @author Qualitaets- und UnterstuetzungsAgentur - Landesinstitut fuer Schule
- * @version Generisch_02 2014-03-01
- */ 
-public interface ComparableContent<ContentType> {
-
-  /**
-   * Wenn festgestellt wird, dass das Objekt, von dem die Methode aufgerufen
-   * wird, bzgl. der gewuenschten Ordnungsrelation groesser als das Objekt
-   * pContent ist, wird true geliefert. Sonst wird false geliefert.
-   *
-   * @param pContent
-   *          das mit dem aufrufenden Objekt zu vergleichende Objekt vom
-   *          Typ ContentType
-   * @return true, wenn das aufrufende Objekt groesser ist als das Objekt
-   *         pContent, sonst false
-   */
-  public boolean isGreater(ContentType pContent);
-
-  /**
-   * Wenn festgestellt wird, dass das Objekt, von dem die Methode aufgerufen
-   * wird, bzgl. der gewuenschten Ordnungsrelation gleich gross wie das Objekt
-   * pContent ist, wird true geliefert. Sonst wird false geliefert.
-   *
-   * @param pContent
-   *          das mit dem aufrufenden Objekt zu vergleichende Objekt vom
-   *          Typ ContentType
-   * @return true, wenn das aufrufende Objekt gleich gross ist wie das Objekt
-   *         pContent, sonst false
-   */
-  public boolean isEqual(ContentType pContent);
-
-  /**
-   * Wenn festgestellt wird, dass das Objekt, von dem die Methode aufgerufen
-   * wird, bzgl. der gewuenschten Ordnungsrelation kleiner als das Objekt
-   * pContent ist, wird true geliefert. Sonst wird false geliefert.
-   *
-   * @param pContent
-   *          das mit dem aufrufenden Objekt zu vergleichende Objekt vom
-   *          Typ ContentType
-   * @return true, wenn das aufrufende Objekt kleiner ist als das Objekt
-   *         pContent, sonst false   
-   */     
-  public boolean isLess(ContentType pContent);
-
-}
diff --git a/Erica/package.bluej b/Erica/package.bluej
deleted file mode 100644
index a2fde5dd5e6e50a588a29423c63baf882d09d7a1..0000000000000000000000000000000000000000
--- a/Erica/package.bluej
+++ /dev/null
@@ -1,57 +0,0 @@
-#BlueJ package file
-dependency1.from=BinarySearchTree
-dependency1.to=ComparableContent
-dependency1.type=UsesDependency
-dependency2.from=Benutzerverwaltung
-dependency2.to=BinarySearchTree
-dependency2.type=UsesDependency
-dependency3.from=Benutzerverwaltung
-dependency3.to=Benutzerprofil
-dependency3.type=UsesDependency
-objectbench.height=93
-objectbench.width=760
-package.divider.horizontal=0.6
-package.divider.vertical=0.8
-package.editor.height=393
-package.editor.width=649
-package.editor.x=186
-package.editor.y=241
-package.frame.height=600
-package.frame.width=800
-package.numDependencies=3
-package.numTargets=4
-package.showExtends=true
-package.showUses=true
-readme.height=58
-readme.name=@README
-readme.width=47
-readme.x=10
-readme.y=10
-target1.height=50
-target1.name=ComparableContent
-target1.showInterface=false
-target1.type=InterfaceTarget
-target1.width=250
-target1.x=210
-target1.y=210
-target2.height=50
-target2.name=Benutzerprofil
-target2.showInterface=false
-target2.type=ClassTarget
-target2.width=110
-target2.x=430
-target2.y=120
-target3.height=50
-target3.name=Benutzerverwaltung
-target3.showInterface=false
-target3.type=ClassTarget
-target3.width=150
-target3.x=250
-target3.y=20
-target4.height=50
-target4.name=BinarySearchTree
-target4.showInterface=false
-target4.type=ClassTarget
-target4.width=230
-target4.x=60
-target4.y=120
diff --git a/Lars/Benutzerprofil.java b/Lars/Benutzerprofil.java
deleted file mode 100644
index c3f9ffc251988c23633b599c18569f39943c4043..0000000000000000000000000000000000000000
--- a/Lars/Benutzerprofil.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package Lars;
-
-
-/**
- * Beschreiben Sie hier die Klasse Benutzerprofil.
- * 
- * @author (Ihr Name) 
- * @version (eine Versionsnummer oder ein Datum)
- */
-public class Benutzerprofil implements ComparableContent<Benutzerprofil>
-{
-    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
-    private String benutzername;
-
-    /**
-     * Konstruktor für Objekte der Klasse Benutzerprofil
-     */
-    public Benutzerprofil(String login, String pw)
-    {
-        // Instanzvariable initialisieren
-        
-    }
-    
-    public boolean isGreater(Benutzerprofil pk)
-    {
-        return true;
-    }
-
-    public boolean isLess(Benutzerprofil pk)
-    {
-        return true;
-    }
-    
-    public boolean isEqual(Benutzerprofil pk)
-    {
-        return true;
-    }    
-    
-    public String gibBenutzername()
-    {
-        // tragen Sie hier den Code ein
-        return benutzername;
-    }
-    
-    
-}
-
diff --git a/Lars/Benutzerverwaltung.java b/Lars/Benutzerverwaltung.java
deleted file mode 100644
index 9a81148126c5d94460f8ff69837c58b4f09ec794..0000000000000000000000000000000000000000
--- a/Lars/Benutzerverwaltung.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package Lars;
-
-/**
- * Beschreiben Sie hier die Klasse Benutzerverwaltung.
- * 
- * @author (Ihr Name) 
- * @version (eine Versionsnummer oder ein Datum)
- */
-public class Benutzerverwaltung
-{
-    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
-    private BinarySearchTree<Benutzerprofil> benutzerBaum;
-
-    /**
-     * Konstruktor für Objekte der Klasse Benutzerverwaltung
-     */
-    public Benutzerverwaltung()
-    {
-        // Instanzvariable initialisieren
-        benutzerBaum = new BinarySearchTree();
-    }
-
-    public void neuenNutzerAnlegen(String pBenutzername, String pPw)
-    {
-        
-    }
-    
-    public void benutzerLoeschen(String pBenutzername, String pPw)
-    {
-        
-    }
-    
-    public void profilVorhanden(String pBenutzername)
-    {
-        
-    }
-}
\ No newline at end of file
diff --git a/Lars/BinarySearchTree.java b/Lars/BinarySearchTree.java
deleted file mode 100644
index 14bd80ff3fcfb7409979c5084ef0fa7b5b60234c..0000000000000000000000000000000000000000
--- a/Lars/BinarySearchTree.java
+++ /dev/null
@@ -1,262 +0,0 @@
-package Lars;
-
-/**
- * <p>
- * Materialien zu den zentralen NRW-Abiturpruefungen im Fach Informatik ab 2018
- * </p>
- * <p>
- * Generische Klasse BinarySearchTree<ContentType>
- * </p>
- * <p>
- * Mithilfe der generischen Klasse BinarySearchTree koennen beliebig viele
- * Objekte in einem Binaerbaum (binaerer Suchbaum) entsprechend einer
- * Ordnungsrelation verwaltet werden. <br />
- * Ein Objekt der Klasse stellt entweder einen leeren binaeren Suchbaum dar oder
- * verwaltet ein Inhaltsobjekt sowie einen linken und einen rechten Teilbaum,
- * die ebenfalls Objekte der Klasse BinarySearchTree sind.<br />
- * Die Klasse der Objekte, die in dem Suchbaum verwaltet werden sollen, muss
- * das generische Interface ComparableContent implementieren. Dabei muss durch
- * Ueberschreiben der drei Vergleichsmethoden isLess, isEqual, isGreater (s.
- * Dokumentation des Interfaces) eine eindeutige Ordnungsrelation festgelegt
- * sein. <br />
- * Alle Objekte im linken Teilbaum sind kleiner als das Inhaltsobjekt des
- * binaeren Suchbaums. Alle Objekte im rechten Teilbaum sind groesser als das
- * Inhaltsobjekt des binaeren Suchbaums. Diese Bedingung gilt (rekursiv) auch in
- * beiden Teilbaeumen. <br />
- * Hinweis: In dieser Version wird die Klasse BinaryTree nicht benutzt.
- * </p>
- * 
- * @author Qualitaets- und UnterstuetzungsAgentur - Landesinstitut fuer Schule
- * @version Generisch_03 2017-11-28
- */
-public class BinarySearchTree<ContentType extends ComparableContent<ContentType>> {
-
-    /* --------- Anfang der privaten inneren Klasse -------------- */
-
-    /**
-     * Durch diese innere Klasse kann man dafuer sorgen, dass ein leerer Baum
-     * null ist, ein nicht-leerer Baum jedoch immer eine nicht-null-Wurzel sowie
-     * nicht-null-Teilbaeume hat.
-     */
-    private class BSTNode<CT extends ComparableContent<CT>> {
-      
-        private CT content;
-        private BinarySearchTree<CT> left, right;
-
-        public BSTNode(CT pContent) {
-            // Der Knoten hat einen linken und rechten Teilbaum, die 
-            // beide von null verschieden sind. Also hat ein Blatt immer zwei 
-            // leere Teilbaeume unter sich.
-            this.content = pContent;
-            left = new BinarySearchTree<CT>();
-            right = new BinarySearchTree<CT>();
-        }
-        
-    }
-
-    /* ----------- Ende der privaten inneren Klasse -------------- */
-
-    private BSTNode<ContentType> node;
-
-    /**
-     * Der Konstruktor erzeugt einen leeren Suchbaum.
-     */
-    public BinarySearchTree() {
-        this.node = null;
-    }
-
-    /**
-     * Diese Anfrage liefert den Wahrheitswert true, wenn der Suchbaum leer ist,
-     * sonst liefert sie den Wert false.
-     * 
-     * @return true, wenn der binaere Suchbaum leer ist, sonst false
-     * 
-     */
-    public boolean isEmpty() {
-        return this.node == null;
-    }
-
-    /**
-     * Falls der Parameter null ist, geschieht nichts.<br />
-     * Falls ein bezueglich der verwendeten Vergleichsmethode isEqual mit
-     * pContent uebereinstimmendes Objekt im geordneten binaeren Suchbau
-     * enthalten ist, passiert nichts. <br />
-     * Achtung: hier wird davon ausgegangen, dass isEqual genau dann true
-     * liefert, wenn isLess und isGreater false liefern. <br />
-     * Andernfalls (isLess oder isGreater) wird das Objekt pContent entsprechend
-     * der vorgegebenen Ordnungsrelation in den BinarySearchTree eingeordnet.
-     * 
-     * @param pContent
-     *            einzufuegendes Objekt vom Typ ContentType
-     *            
-     */
-    public void insert(ContentType pContent) {
-        if (pContent != null) {
-            if (isEmpty()) {
-                this.node = new BSTNode<ContentType>(pContent);
-            } else if (pContent.isLess(this.node.content)) {
-                this.node.left.insert(pContent);
-            } else if(pContent.isGreater(this.node.content)) {
-                this.node.right.insert(pContent);
-            }
-        }
-    }
-
-    /**
-     * Diese Anfrage liefert den linken Teilbaum des binaeren Suchbaumes. <br />
-     * Wenn er leer ist, wird null zurueckgegeben.
-     * 
-     * @return den linken Teilbaum (Objekt vom Typ BinarySearchTree<ContentType>) 
-     *         bzw. null, wenn der Suchbaum leer ist
-     *         
-     */
-    public BinarySearchTree<ContentType> getLeftTree() {
-        if (this.isEmpty()) {
-            return null;
-        } else {
-            return this.node.left;
-        }
-    }
-
-    /**
-     * Diese Anfrage liefert das Inhaltsobjekt des Suchbaumes. Wenn der Suchbaum
-     * leer ist, wird null zurueckgegeben.
-     * 
-     * @return das Inhaltsobjekt vom Typ ContentType bzw. null, wenn der aktuelle
-     *         Suchbaum leer ist
-     *         
-     */
-    public ContentType getContent() {
-        if (this.isEmpty()) {
-            return null;
-        } else {
-            return this.node.content;
-        }
-    }
-
-    /**
-     * Diese Anfrage liefert den rechten Teilbaum des binaeren Suchbaumes. <br />
-     * Wenn er leer ist, wird null zurueckgegeben.
-     * 
-     * @return den rechten Teilbaum (Objekt vom Typ BinarySearchTree<ContentType>) 
-     *         bzw. null, wenn der aktuelle Suchbaum leer ist
-     *         
-     */
-    public BinarySearchTree<ContentType> getRightTree() {
-        if (this.isEmpty()) {
-            return null;
-        } else {
-            return this.node.right;
-        }
-    }
-
-    /**
-     * Falls ein bezueglich der verwendeten Vergleichsmethode mit
-     * pContent uebereinstimmendes Objekt im binaeren Suchbaum enthalten
-     * ist, wird dieses entfernt. Falls der Parameter null ist, aendert sich
-     * nichts.
-     * 
-     * @param pContent
-     *            zu entfernendes Objekt vom Typ ContentType
-     *            
-     */
-    public void remove(ContentType pContent) {
-        if (isEmpty() || pContent == null ) {
-            // Abbrechen, da kein Element zum entfernen vorhanden ist.
-          return;
-        }
-        
-        if (pContent.isLess(node.content)) {
-            // Element ist im linken Teilbaum zu loeschen.
-            node.left.remove(pContent);
-        } else if (pContent.isGreater(node.content)) {
-            // Element ist im rechten Teilbaum zu loeschen.
-            node.right.remove(pContent);
-        } else {
-            // Element ist gefunden.
-            if (node.left.isEmpty()) {
-                if (node.right.isEmpty()) {
-                    // Es gibt keinen Nachfolger.
-                    node = null;
-                } else {
-                    // Es gibt nur rechts einen Nachfolger.
-                    node = getNodeOfRightSuccessor();
-                }
-            } else if (node.right.isEmpty()) {
-                // Es gibt nur links einen Nachfolger.
-                node = getNodeOfLeftSuccessor();
-            } else {
-                // Es gibt links und rechts einen Nachfolger.
-                if (getNodeOfRightSuccessor().left.isEmpty()) {
-                    // Der rechte Nachfolger hat keinen linken Nachfolger.
-                    node.content = getNodeOfRightSuccessor().content;
-                    node.right = getNodeOfRightSuccessor().right;
-                } else {
-                    BinarySearchTree<ContentType> previous = node.right
-                            .ancestorOfSmallRight();
-                    BinarySearchTree<ContentType> smallest = previous.node.left;
-                    this.node.content = smallest.node.content;
-                    previous.remove(smallest.node.content);
-                }
-            }
-        }        
-    }
-
-    /**
-     * Falls ein bezueglich der verwendeten Vergleichsmethode isEqual mit
-     * pContent uebereinstimmendes Objekt im binaeren Suchbaum enthalten ist,
-     * liefert die Anfrage dieses, ansonsten wird null zurueckgegeben. <br />
-     * Falls der Parameter null ist, wird null zurueckgegeben.
-     * 
-     * @param pContent
-     *            zu suchendes Objekt vom Typ ContentType
-     * @return das gefundene Objekt vom Typ ContentType, bei erfolgloser Suche null
-     * 
-     */
-    public ContentType search(ContentType pContent) {
-        if (this.isEmpty() || pContent == null) {
-            // Abbrechen, da es kein Element zu suchen gibt.
-            return null;
-        } else {
-            ContentType content = this.getContent();
-            if (pContent.isLess(content)) {
-                // Element wird im linken Teilbaum gesucht.
-                return this.getLeftTree().search(pContent);
-            } else if (pContent.isGreater(content)) {
-                // Element wird im rechten Teilbaum gesucht.
-                return this.getRightTree().search(pContent);
-            } else if (pContent.isEqual(content)) {
-                // Element wurde gefunden.
-              return content;                
-            } else {    
-              // Dieser Fall sollte nicht auftreten.
-                return null;
-            }
-        }
-    }
-
-    /* ----------- Weitere private Methoden -------------- */
-
-    /**
-     * Die Methode liefert denjenigen Baum, dessen linker Nachfolger keinen linken
-     * Nachfolger mehr hat. Es ist also spaeter moeglich, in einem Baum im
-     * rechten Nachfolger den Vorgaenger des linkesten Nachfolgers zu finden.
-     * 
-     */
-    private BinarySearchTree<ContentType> ancestorOfSmallRight() {        
-        if (getNodeOfLeftSuccessor().left.isEmpty()) {
-            return this;
-        } else {
-            return node.left.ancestorOfSmallRight();
-        }
-    }
-
-    private BSTNode<ContentType> getNodeOfLeftSuccessor() {
-        return node.left.node;
-    }
-
-    private BSTNode<ContentType> getNodeOfRightSuccessor() {
-        return node.right.node;
-    }
-
-}
diff --git a/Lars/ComparableContent.java b/Lars/ComparableContent.java
deleted file mode 100644
index 22c4559a07d9c916047b790c9392d6a2118f4a3d..0000000000000000000000000000000000000000
--- a/Lars/ComparableContent.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package Lars;
-
- /**
- * <p>
- * Materialien zu den zentralen NRW-Abiturpruefungen im Fach Informatik ab 2018
- * </p>
- * <p>
- * Generisches Interface (Schnittstelle) ComparableContent<ContentType>
- * </p>
- * <p>
- * <p>Das generische Interface ComparableContent<ContentType> legt die Methoden
- * fest, ueber die Objekte verfuegen muessen, die in einen binaeren Suchbaum
- * (BinarySearchTree) eingefuegt werden sollen. Die Ordnungsrelation wird in
- * Klassen, die ComparableContent implementieren durch Ueberschreiben der drei
- * implizit abstrakten Methoden isGreater, isEqual und isLess festgelegt. 
- * </p>
- * </p>
- * @author Qualitaets- und UnterstuetzungsAgentur - Landesinstitut fuer Schule
- * @version Generisch_02 2014-03-01
- */ 
-public interface ComparableContent<ContentType> {
-
-  /**
-   * Wenn festgestellt wird, dass das Objekt, von dem die Methode aufgerufen
-   * wird, bzgl. der gewuenschten Ordnungsrelation groesser als das Objekt
-   * pContent ist, wird true geliefert. Sonst wird false geliefert.
-   *
-   * @param pContent
-   *          das mit dem aufrufenden Objekt zu vergleichende Objekt vom
-   *          Typ ContentType
-   * @return true, wenn das aufrufende Objekt groesser ist als das Objekt
-   *         pContent, sonst false
-   */
-  public boolean isGreater(ContentType pContent);
-
-  /**
-   * Wenn festgestellt wird, dass das Objekt, von dem die Methode aufgerufen
-   * wird, bzgl. der gewuenschten Ordnungsrelation gleich gross wie das Objekt
-   * pContent ist, wird true geliefert. Sonst wird false geliefert.
-   *
-   * @param pContent
-   *          das mit dem aufrufenden Objekt zu vergleichende Objekt vom
-   *          Typ ContentType
-   * @return true, wenn das aufrufende Objekt gleich gross ist wie das Objekt
-   *         pContent, sonst false
-   */
-  public boolean isEqual(ContentType pContent);
-
-  /**
-   * Wenn festgestellt wird, dass das Objekt, von dem die Methode aufgerufen
-   * wird, bzgl. der gewuenschten Ordnungsrelation kleiner als das Objekt
-   * pContent ist, wird true geliefert. Sonst wird false geliefert.
-   *
-   * @param pContent
-   *          das mit dem aufrufenden Objekt zu vergleichende Objekt vom
-   *          Typ ContentType
-   * @return true, wenn das aufrufende Objekt kleiner ist als das Objekt
-   *         pContent, sonst false   
-   */     
-  public boolean isLess(ContentType pContent);
-
-}
diff --git a/Lars/package.bluej b/Lars/package.bluej
deleted file mode 100644
index dd18323561a8bdfddbe47cc807beb650972d174a..0000000000000000000000000000000000000000
--- a/Lars/package.bluej
+++ /dev/null
@@ -1,48 +0,0 @@
-#BlueJ package file
-objectbench.height=101
-objectbench.width=776
-package.divider.horizontal=0.6
-package.divider.vertical=0.8007380073800738
-package.editor.height=427
-package.editor.width=652
-package.editor.x=328
-package.editor.y=300
-package.frame.height=600
-package.frame.width=800
-package.numDependencies=0
-package.numTargets=4
-package.showExtends=true
-package.showUses=true
-readme.height=60
-readme.name=@README
-readme.width=48
-readme.x=10
-readme.y=10
-target1.height=70
-target1.name=ComparableContent
-target1.showInterface=false
-target1.type=InterfaceTarget
-target1.width=250
-target1.x=310
-target1.y=70
-target2.height=70
-target2.name=Benutzerprofil
-target2.showInterface=false
-target2.type=ClassTarget
-target2.width=120
-target2.x=10
-target2.y=270
-target3.height=70
-target3.name=Benutzerverwaltung
-target3.showInterface=false
-target3.type=ClassTarget
-target3.width=150
-target3.x=10
-target3.y=110
-target4.height=70
-target4.name=BinarySearchTree
-target4.showInterface=false
-target4.type=ClassTarget
-target4.width=240
-target4.x=230
-target4.y=280
diff --git a/Taha/Benutzerprofil.java b/Taha/Benutzerprofil.java
deleted file mode 100644
index 91023832f74b064c7c46d8f38f6ff031fe656042..0000000000000000000000000000000000000000
--- a/Taha/Benutzerprofil.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package Taha;
-
-
-/**
- * Beschreiben Sie hier die Klasse Benutzerprofil.
- * 
- * @author (Ihr Name) 
- * @version (eine Versionsnummer oder ein Datum)
- */
-public class Benutzerprofil implements ComparableContent<Benutzerprofil>
-{
-    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
-    private String benutzername;
-    private String password;
-
-    /**
-     * Konstruktor für Objekte der Klasse Benutzerprofil
-     */
-    public Benutzerprofil(String login, String pw)
-    {
-        this.benutzername = login;
-        this.password = pw;
-    }
-    
-    public boolean isGreater(Benutzerprofil pk)
-    {
-        String username = pk.gibBenutzername();
-        return username.compareTo(this.benutzername) > 0;
-    }
-
-    public boolean isLess(Benutzerprofil pk)
-    {
-        String username = pk.gibBenutzername();
-        return username.compareTo(this.benutzername) < 0;
-    }
-    
-    public boolean isEqual(Benutzerprofil pk)
-    {
-        String username = pk.gibBenutzername();
-        return username.compareTo(this.benutzername) == 0;
-    }    
-    
-    public String gibBenutzername()
-    {
-        return this.benutzername;
-    }
-    
-    
-}
diff --git a/Taha/Benutzerverwaltung.java b/Taha/Benutzerverwaltung.java
deleted file mode 100644
index cb3cb3df4e3e58c2737db8965978d828dbeac9d9..0000000000000000000000000000000000000000
--- a/Taha/Benutzerverwaltung.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package Taha;
-
-/**
- * Beschreiben Sie hier die Klasse Benutzerverwaltung.
- * 
- * @author (Ihr Name) 
- * @version (eine Versionsnummer oder ein Datum)
- */
-public class Benutzerverwaltung
-{
-    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
-    private BinarySearchTree<Benutzerprofil> benutzerBaum;
-
-    /**
-     * Konstruktor für Objekte der Klasse Benutzerverwaltung
-     */
-    public Benutzerverwaltung()
-    {
-        benutzerBaum = new BinarySearchTree<Benutzerprofil>();
-        
-        benutzerBaum.insert(new Benutzerprofil("gerd44", "ichbinrassist"));
-        benutzerBaum.insert(new Benutzerprofil("elfriede41", "ichbinrassist"));
-        benutzerBaum.insert(new Benutzerprofil("pia96", "ichbinrassist"));
-        benutzerBaum.insert(new Benutzerprofil("ayce90", "ichbinrassist"));
-        benutzerBaum.insert(new Benutzerprofil("frank78", "ichbinrassist"));
-        benutzerBaum.insert(new Benutzerprofil("max62", "ichbinrassist"));
-        benutzerBaum.insert(new Benutzerprofil("tina90", "ichbinrassist"));
-        benutzerBaum.insert(new Benutzerprofil("alfred65", "ichbinrassist"));
-        benutzerBaum.insert(new Benutzerprofil("chuck73", "ichbinrassist"));
-        benutzerBaum.insert(new Benutzerprofil("jan62", "ichbinrassist"));
-        benutzerBaum.insert(new Benutzerprofil("michelle73", "ichbinrassist"));
-        benutzerBaum.insert(new Benutzerprofil("susi81", "ichbinrassist"));
-        benutzerBaum.insert(new Benutzerprofil("udo86", "ichbinrassist"));
-        benutzerBaum.insert(new Benutzerprofil("yoki33", "ichbinrassist"));
-    }
-
-    public void neuenNutzerAnlegen(String pBenutzername, String pPw)
-    {
-        Benutzerprofil user = new Benutzerprofil(pBenutzername, pPw);
-        benutzerBaum.insert(user);
-    }
-    
-    public void benutzerLoeschen(String pBenutzername, String pPw)
-    {
-        Benutzerprofil user = new Benutzerprofil(pBenutzername, pPw);
-        benutzerBaum.remove(user);
-    }
-    
-    public void profilVorhanden(String pBenutzername)
-    {
-        traversierenIntern(pBenutzername, this.benutzerBaum);
-    }
-    
-    private void traversierenIntern(String pBenutzername, BinarySearchTree<Benutzerprofil> pBaum) {
-        BinarySearchTree<Benutzerprofil> bLeft = pBaum.getLeftTree();
-        BinarySearchTree<Benutzerprofil> bRight = pBaum.getRightTree();
-       
-        String username = pBaum.getContent().gibBenutzername();
-        
-        if(username.compareTo(pBenutzername) == 0) {
-            System.out.println("nutzer gefunden");
-            return;
-        }
-       
-        if(bLeft.getContent() != null) {
-            traversierenIntern(pBenutzername, bLeft);
-        }
-        
-        if(bRight.getContent() != null) {
-            traversierenIntern(pBenutzername, bRight);
-        }   
-    }
-}
diff --git a/Taha/BinarySearchTree.java b/Taha/BinarySearchTree.java
deleted file mode 100644
index 2880e3491806aee55b7d3de0e360a2a55ebb22d4..0000000000000000000000000000000000000000
--- a/Taha/BinarySearchTree.java
+++ /dev/null
@@ -1,262 +0,0 @@
-package Taha;
-
-/**
- * <p>
- * Materialien zu den zentralen NRW-Abiturpruefungen im Fach Informatik ab 2018
- * </p>
- * <p>
- * Generische Klasse BinarySearchTree<ContentType>
- * </p>
- * <p>
- * Mithilfe der generischen Klasse BinarySearchTree koennen beliebig viele
- * Objekte in einem Binaerbaum (binaerer Suchbaum) entsprechend einer
- * Ordnungsrelation verwaltet werden. <br />
- * Ein Objekt der Klasse stellt entweder einen leeren binaeren Suchbaum dar oder
- * verwaltet ein Inhaltsobjekt sowie einen linken und einen rechten Teilbaum,
- * die ebenfalls Objekte der Klasse BinarySearchTree sind.<br />
- * Die Klasse der Objekte, die in dem Suchbaum verwaltet werden sollen, muss
- * das generische Interface ComparableContent implementieren. Dabei muss durch
- * Ueberschreiben der drei Vergleichsmethoden isLess, isEqual, isGreater (s.
- * Dokumentation des Interfaces) eine eindeutige Ordnungsrelation festgelegt
- * sein. <br />
- * Alle Objekte im linken Teilbaum sind kleiner als das Inhaltsobjekt des
- * binaeren Suchbaums. Alle Objekte im rechten Teilbaum sind groesser als das
- * Inhaltsobjekt des binaeren Suchbaums. Diese Bedingung gilt (rekursiv) auch in
- * beiden Teilbaeumen. <br />
- * Hinweis: In dieser Version wird die Klasse BinaryTree nicht benutzt.
- * </p>
- * 
- * @author Qualitaets- und UnterstuetzungsAgentur - Landesinstitut fuer Schule
- * @version Generisch_03 2017-11-28
- */
-public class BinarySearchTree<ContentType extends ComparableContent<ContentType>> {
-
-	/* --------- Anfang der privaten inneren Klasse -------------- */
-
-	/**
-	 * Durch diese innere Klasse kann man dafuer sorgen, dass ein leerer Baum
-	 * null ist, ein nicht-leerer Baum jedoch immer eine nicht-null-Wurzel sowie
-	 * nicht-null-Teilbaeume hat.
-	 */
-	private class BSTNode<CT extends ComparableContent<CT>> {
-	  
-		private CT content;
-		private BinarySearchTree<CT> left, right;
-
-		public BSTNode(CT pContent) {
-			// Der Knoten hat einen linken und rechten Teilbaum, die 
-			// beide von null verschieden sind. Also hat ein Blatt immer zwei 
-			// leere Teilbaeume unter sich.
-			this.content = pContent;
-			left = new BinarySearchTree<CT>();
-			right = new BinarySearchTree<CT>();
-		}
-		
-	}
-
-	/* ----------- Ende der privaten inneren Klasse -------------- */
-
-	private BSTNode<ContentType> node;
-
-	/**
-	 * Der Konstruktor erzeugt einen leeren Suchbaum.
-	 */
-	public BinarySearchTree() {
-		this.node = null;
-	}
-
-	/**
-	 * Diese Anfrage liefert den Wahrheitswert true, wenn der Suchbaum leer ist,
-	 * sonst liefert sie den Wert false.
-	 * 
-	 * @return true, wenn der binaere Suchbaum leer ist, sonst false
-	 * 
-	 */
-	public boolean isEmpty() {
-		return this.node == null;
-	}
-
-	/**
-	 * Falls der Parameter null ist, geschieht nichts.<br />
-	 * Falls ein bezueglich der verwendeten Vergleichsmethode isEqual mit
-	 * pContent uebereinstimmendes Objekt im geordneten binaeren Suchbau
-	 * enthalten ist, passiert nichts. <br />
-	 * Achtung: hier wird davon ausgegangen, dass isEqual genau dann true
-	 * liefert, wenn isLess und isGreater false liefern. <br />
-	 * Andernfalls (isLess oder isGreater) wird das Objekt pContent entsprechend
-	 * der vorgegebenen Ordnungsrelation in den BinarySearchTree eingeordnet.
-	 * 
-	 * @param pContent
-	 *            einzufuegendes Objekt vom Typ ContentType
-	 *            
-	 */
-	public void insert(ContentType pContent) {
-		if (pContent != null) {
-			if (isEmpty()) {
-				this.node = new BSTNode<ContentType>(pContent);
-			} else if (pContent.isLess(this.node.content)) {
-				this.node.left.insert(pContent);
-			} else if(pContent.isGreater(this.node.content)) {
-				this.node.right.insert(pContent);
-			}
-		}
-	}
-
-	/**
-	 * Diese Anfrage liefert den linken Teilbaum des binaeren Suchbaumes. <br />
-	 * Wenn er leer ist, wird null zurueckgegeben.
-	 * 
-	 * @return den linken Teilbaum (Objekt vom Typ BinarySearchTree<ContentType>) 
-	 *         bzw. null, wenn der Suchbaum leer ist
-	 *         
-	 */
-	public BinarySearchTree<ContentType> getLeftTree() {
-		if (this.isEmpty()) {
-			return null;
-		} else {
-			return this.node.left;
-		}
-	}
-
-	/**
-	 * Diese Anfrage liefert das Inhaltsobjekt des Suchbaumes. Wenn der Suchbaum
-	 * leer ist, wird null zurueckgegeben.
-	 * 
-	 * @return das Inhaltsobjekt vom Typ ContentType bzw. null, wenn der aktuelle
-	 *         Suchbaum leer ist
-	 *         
-	 */
-	public ContentType getContent() {
-		if (this.isEmpty()) {
-			return null;
-		} else {
-			return this.node.content;
-		}
-	}
-
-	/**
-	 * Diese Anfrage liefert den rechten Teilbaum des binaeren Suchbaumes. <br />
-	 * Wenn er leer ist, wird null zurueckgegeben.
-	 * 
-	 * @return den rechten Teilbaum (Objekt vom Typ BinarySearchTree<ContentType>) 
-	 *         bzw. null, wenn der aktuelle Suchbaum leer ist
-	 *         
-	 */
-	public BinarySearchTree<ContentType> getRightTree() {
-		if (this.isEmpty()) {
-			return null;
-		} else {
-			return this.node.right;
-		}
-	}
-
-	/**
-	 * Falls ein bezueglich der verwendeten Vergleichsmethode mit
-	 * pContent uebereinstimmendes Objekt im binaeren Suchbaum enthalten
-	 * ist, wird dieses entfernt. Falls der Parameter null ist, aendert sich
-	 * nichts.
-	 * 
-	 * @param pContent
-	 *            zu entfernendes Objekt vom Typ ContentType
-	 *            
-	 */
-	public void remove(ContentType pContent) {
-		if (isEmpty() || pContent == null ) {
-			// Abbrechen, da kein Element zum entfernen vorhanden ist.
-		  return;
-		}
-		
-		if (pContent.isLess(node.content)) {
-			// Element ist im linken Teilbaum zu loeschen.
-			node.left.remove(pContent);
-		} else if (pContent.isGreater(node.content)) {
-			// Element ist im rechten Teilbaum zu loeschen.
-			node.right.remove(pContent);
-		} else {
-			// Element ist gefunden.
-			if (node.left.isEmpty()) {
-				if (node.right.isEmpty()) {
-					// Es gibt keinen Nachfolger.
-					node = null;
-				} else {
-					// Es gibt nur rechts einen Nachfolger.
-					node = getNodeOfRightSuccessor();
-				}
-			} else if (node.right.isEmpty()) {
-				// Es gibt nur links einen Nachfolger.
-				node = getNodeOfLeftSuccessor();
-			} else {
-				// Es gibt links und rechts einen Nachfolger.
-				if (getNodeOfRightSuccessor().left.isEmpty()) {
-					// Der rechte Nachfolger hat keinen linken Nachfolger.
-					node.content = getNodeOfRightSuccessor().content;
-					node.right = getNodeOfRightSuccessor().right;
-				} else {
-					BinarySearchTree<ContentType> previous = node.right
-							.ancestorOfSmallRight();
-					BinarySearchTree<ContentType> smallest = previous.node.left;
-					this.node.content = smallest.node.content;
-					previous.remove(smallest.node.content);
-				}
-			}
-		}		
-	}
-
-	/**
-	 * Falls ein bezueglich der verwendeten Vergleichsmethode isEqual mit
-	 * pContent uebereinstimmendes Objekt im binaeren Suchbaum enthalten ist,
-	 * liefert die Anfrage dieses, ansonsten wird null zurueckgegeben. <br />
-	 * Falls der Parameter null ist, wird null zurueckgegeben.
-	 * 
-	 * @param pContent
-	 *            zu suchendes Objekt vom Typ ContentType
-	 * @return das gefundene Objekt vom Typ ContentType, bei erfolgloser Suche null
-	 * 
-	 */
-	public ContentType search(ContentType pContent) {
-		if (this.isEmpty() || pContent == null) {
-			// Abbrechen, da es kein Element zu suchen gibt.
-			return null;
-		} else {
-			ContentType content = this.getContent();
-			if (pContent.isLess(content)) {
-				// Element wird im linken Teilbaum gesucht.
-				return this.getLeftTree().search(pContent);
-			} else if (pContent.isGreater(content)) {
-				// Element wird im rechten Teilbaum gesucht.
-				return this.getRightTree().search(pContent);
-			} else if (pContent.isEqual(content)) {
-				// Element wurde gefunden.
-			  return content;				
-			} else {	
-			  // Dieser Fall sollte nicht auftreten.
-				return null;
-			}
-		}
-	}
-
-	/* ----------- Weitere private Methoden -------------- */
-
-	/**
-	 * Die Methode liefert denjenigen Baum, dessen linker Nachfolger keinen linken
-	 * Nachfolger mehr hat. Es ist also spaeter moeglich, in einem Baum im
-	 * rechten Nachfolger den Vorgaenger des linkesten Nachfolgers zu finden.
-	 * 
-	 */
-	private BinarySearchTree<ContentType> ancestorOfSmallRight() {		
-		if (getNodeOfLeftSuccessor().left.isEmpty()) {
-			return this;
-		} else {
-			return node.left.ancestorOfSmallRight();
-		}
-	}
-
-	private BSTNode<ContentType> getNodeOfLeftSuccessor() {
-		return node.left.node;
-	}
-
-	private BSTNode<ContentType> getNodeOfRightSuccessor() {
-		return node.right.node;
-	}
-
-}
diff --git a/Taha/ComparableContent.java b/Taha/ComparableContent.java
deleted file mode 100644
index 6313a71e0dd71b6159dfb5ad48ad61235626ccdd..0000000000000000000000000000000000000000
--- a/Taha/ComparableContent.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package Taha;
-
- /**
- * <p>
- * Materialien zu den zentralen NRW-Abiturpruefungen im Fach Informatik ab 2018
- * </p>
- * <p>
- * Generisches Interface (Schnittstelle) ComparableContent<ContentType>
- * </p>
- * <p>
- * <p>Das generische Interface ComparableContent<ContentType> legt die Methoden
- * fest, ueber die Objekte verfuegen muessen, die in einen binaeren Suchbaum
- * (BinarySearchTree) eingefuegt werden sollen. Die Ordnungsrelation wird in
- * Klassen, die ComparableContent implementieren durch Ueberschreiben der drei
- * implizit abstrakten Methoden isGreater, isEqual und isLess festgelegt. 
- * </p>
- * </p>
- * @author Qualitaets- und UnterstuetzungsAgentur - Landesinstitut fuer Schule
- * @version Generisch_02 2014-03-01
- */ 
-public interface ComparableContent<ContentType> {
-
-  /**
-   * Wenn festgestellt wird, dass das Objekt, von dem die Methode aufgerufen
-   * wird, bzgl. der gewuenschten Ordnungsrelation groesser als das Objekt
-   * pContent ist, wird true geliefert. Sonst wird false geliefert.
-   *
-   * @param pContent
-   *          das mit dem aufrufenden Objekt zu vergleichende Objekt vom
-   *          Typ ContentType
-   * @return true, wenn das aufrufende Objekt groesser ist als das Objekt
-   *         pContent, sonst false
-   */
-  public boolean isGreater(ContentType pContent);
-
-  /**
-   * Wenn festgestellt wird, dass das Objekt, von dem die Methode aufgerufen
-   * wird, bzgl. der gewuenschten Ordnungsrelation gleich gross wie das Objekt
-   * pContent ist, wird true geliefert. Sonst wird false geliefert.
-   *
-   * @param pContent
-   *          das mit dem aufrufenden Objekt zu vergleichende Objekt vom
-   *          Typ ContentType
-   * @return true, wenn das aufrufende Objekt gleich gross ist wie das Objekt
-   *         pContent, sonst false
-   */
-  public boolean isEqual(ContentType pContent);
-
-  /**
-   * Wenn festgestellt wird, dass das Objekt, von dem die Methode aufgerufen
-   * wird, bzgl. der gewuenschten Ordnungsrelation kleiner als das Objekt
-   * pContent ist, wird true geliefert. Sonst wird false geliefert.
-   *
-   * @param pContent
-   *          das mit dem aufrufenden Objekt zu vergleichende Objekt vom
-   *          Typ ContentType
-   * @return true, wenn das aufrufende Objekt kleiner ist als das Objekt
-   *         pContent, sonst false   
-   */     
-  public boolean isLess(ContentType pContent);
-
-}
diff --git a/Taha/package.bluej b/Taha/package.bluej
deleted file mode 100644
index f08c2616eb478bd95e09c09f5c992729e0ae192b..0000000000000000000000000000000000000000
--- a/Taha/package.bluej
+++ /dev/null
@@ -1,57 +0,0 @@
-#BlueJ package file
-dependency1.from=BinarySearchTree
-dependency1.to=ComparableContent
-dependency1.type=UsesDependency
-dependency2.from=Benutzerverwaltung
-dependency2.to=BinarySearchTree
-dependency2.type=UsesDependency
-dependency3.from=Benutzerverwaltung
-dependency3.to=Benutzerprofil
-dependency3.type=UsesDependency
-objectbench.height=101
-objectbench.width=776
-package.divider.horizontal=0.6
-package.divider.vertical=0.8007380073800738
-package.editor.height=427
-package.editor.width=661
-package.editor.x=506
-package.editor.y=54
-package.frame.height=600
-package.frame.width=800
-package.numDependencies=3
-package.numTargets=4
-package.showExtends=true
-package.showUses=true
-readme.height=60
-readme.name=@README
-readme.width=48
-readme.x=10
-readme.y=10
-target1.height=70
-target1.name=ComparableContent
-target1.showInterface=false
-target1.type=InterfaceTarget
-target1.width=230
-target1.x=310
-target1.y=100
-target2.height=70
-target2.name=Benutzerprofil
-target2.showInterface=false
-target2.type=ClassTarget
-target2.width=120
-target2.x=160
-target2.y=300
-target3.height=70
-target3.name=Benutzerverwaltung
-target3.showInterface=false
-target3.type=ClassTarget
-target3.width=140
-target3.x=70
-target3.y=10
-target4.height=70
-target4.name=BinarySearchTree
-target4.showInterface=false
-target4.type=ClassTarget
-target4.width=210
-target4.x=100
-target4.y=170
diff --git a/jodie/Benutzerprofil.java b/jodie/Benutzerprofil.java
deleted file mode 100644
index c99e565ff228681cd408c7be42696a4045b0cbd9..0000000000000000000000000000000000000000
--- a/jodie/Benutzerprofil.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package jodie;
-
-
-/**
- * Beschreiben Sie hier die Klasse Benutzerprofil.
- * 
- * @author (Ihr Name) 
- * @version (eine Versionsnummer oder ein Datum)
- */
-public class Benutzerprofil implements ComparableContent<Benutzerprofil>
-{
-    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
-    private String benutzername;
-
-    /**
-     * Konstruktor für Objekte der Klasse Benutzerprofil
-     */
-    public Benutzerprofil(String login, String pw)
-    {
-        // Instanzvariable initialisieren
-        
-    }
-    
-    public boolean isGreater(Benutzerprofil pk)
-    {
-        return true;
-    }
-
-    public boolean isLess(Benutzerprofil pk)
-    {
-        return true;
-    }
-    
-    public boolean isEqual(Benutzerprofil pk)
-    {
-        return true;
-    }    
-    
-    public String gibBenutzername()
-    {
-        // tragen Sie hier den Code ein
-        return benutzername;
-    }
-    
-    
-}
diff --git a/jodie/Benutzerprofil_Jodie.java b/jodie/Benutzerprofil_Jodie.java
deleted file mode 100644
index 4a368b5e769d7373f177d5f7757245a6e0917639..0000000000000000000000000000000000000000
--- a/jodie/Benutzerprofil_Jodie.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package jodie;
-
-
-/**
- * Beschreiben Sie hier die Klasse Benutzerprofil_Jodi.
- * 
- * @author (Ihr Name) 
- * @version (eine Versionsnummer oder ein Datum)
- */
-public class Benutzerprofil_Jodie implements ComparableContent<Benutzerprofil_Jodie>
-{
-    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
-    private String benutzername;
-    private String passwort;
-    
-    /**
-     * Konstruktor für Objekte der Klasse Benutzerprofil_Jodi
-     */
-    public Benutzerprofil_Jodie(String login, String pw)
-    {
-        // Instanzvariable initialisieren
-        passwort = pw;
-        benutzername = login;
-        
-    }
-    
-    public boolean isGreater(Benutzerprofil_Jodie pk)
-    {
-       if benutzername.compareTo(
-    return true;
-    }
-
-    public boolean isLess(Benutzerprofil_Jodie pk)
-    {
-        return true;
-    }
-    
-    public boolean isEqual(Benutzerprofil_Jodie pk)
-    {
-        return true;
-    }    
-    
-    public String gibBenutzername()
-    {
-        // tragen Sie hier den Code ein
-        
-        return benutzername;
-    }
-    
-    
-}
diff --git a/jodie/Benutzerverwaltung.java b/jodie/Benutzerverwaltung.java
deleted file mode 100644
index 17999a2f3576c0984e60cfa74335a93829489857..0000000000000000000000000000000000000000
--- a/jodie/Benutzerverwaltung.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package jodie;
-
-/**
- * Beschreiben Sie hier die Klasse Benutzerverwaltung.
- * 
- * @author (Ihr Name) 
- * @version (eine Versionsnummer oder ein Datum)
- */
-public class Benutzerverwaltung
-{
-    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
-    private BinarySearchTree<Benutzerprofil> benutzerBaum;
-
-    /**
-     * Konstruktor für Objekte der Klasse Benutzerverwaltung
-     */
-    public Benutzerverwaltung()
-    {
-        // Instanzvariable initialisieren
-        benutzerBaum = new BinarySearchTree();
-    }
-
-    public void neuenNutzerAnlegen(String pBenutzername, String pPw)
-    {
-        
-    }
-    
-    public void benutzerLoeschen(String pBenutzername, String pPw)
-    {
-        
-    }
-    
-    public void profilVorhanden(String pBenutzername)
-    {
-        
-    }
-}
diff --git a/jodie/Benutzerverwaltung_Jodie.java b/jodie/Benutzerverwaltung_Jodie.java
deleted file mode 100644
index bebc3382fb0d20a269cbad57d5b93bbf2f501759..0000000000000000000000000000000000000000
--- a/jodie/Benutzerverwaltung_Jodie.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package jodie;
-
-/**
- * Beschreiben Sie hier die Klasse Benutzerverwaltung_Jodie.
- * 
- * @author (Ihr Name) 
- * @version (eine Versionsnummer oder ein Datum)
- */
-public class Benutzerverwaltung_Jodie
-{
-    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
-    private BinarySearchTree<Benutzerprofil> benutzerBaum;
-    
-    
-    /**
-    * Konstruktor für Objekte der Klasse Benutzerverwaltung_Jodie
-     */
-    public Benutzerverwaltung_Jodie()
-    {
-        // Instanzvariable initialisieren
-        benutzerBaum = new BinarySearchTree();
-        
-    }
-
-    public void neuenNutzerAnlegen(String pBenutzername, String pPw)
-    { 
-       
-        
-    }
-    
-    public void benutzerLoeschen(String pBenutzername, String pPw)
-    {
-        
-    }
-    
-    public void profilVorhanden(String pBenutzername)
-    {
-        
-    }
-}
diff --git a/jodie/BinarySearchTree.java b/jodie/BinarySearchTree.java
deleted file mode 100644
index 87ced4f1d6f81e800d439bf10cd72245ea308720..0000000000000000000000000000000000000000
--- a/jodie/BinarySearchTree.java
+++ /dev/null
@@ -1,262 +0,0 @@
-package jodie;
-
-/**
- * <p>
- * Materialien zu den zentralen NRW-Abiturpruefungen im Fach Informatik ab 2018
- * </p>
- * <p>
- * Generische Klasse BinarySearchTree<ContentType>
- * </p>
- * <p>
- * Mithilfe der generischen Klasse BinarySearchTree koennen beliebig viele
- * Objekte in einem Binaerbaum (binaerer Suchbaum) entsprechend einer
- * Ordnungsrelation verwaltet werden. <br />
- * Ein Objekt der Klasse stellt entweder einen leeren binaeren Suchbaum dar oder
- * verwaltet ein Inhaltsobjekt sowie einen linken und einen rechten Teilbaum,
- * die ebenfalls Objekte der Klasse BinarySearchTree sind.<br />
- * Die Klasse der Objekte, die in dem Suchbaum verwaltet werden sollen, muss
- * das generische Interface ComparableContent implementieren. Dabei muss durch
- * Ueberschreiben der drei Vergleichsmethoden isLess, isEqual, isGreater (s.
- * Dokumentation des Interfaces) eine eindeutige Ordnungsrelation festgelegt
- * sein. <br />
- * Alle Objekte im linken Teilbaum sind kleiner als das Inhaltsobjekt des
- * binaeren Suchbaums. Alle Objekte im rechten Teilbaum sind groesser als das
- * Inhaltsobjekt des binaeren Suchbaums. Diese Bedingung gilt (rekursiv) auch in
- * beiden Teilbaeumen. <br />
- * Hinweis: In dieser Version wird die Klasse BinaryTree nicht benutzt.
- * </p>
- * 
- * @author Qualitaets- und UnterstuetzungsAgentur - Landesinstitut fuer Schule
- * @version Generisch_03 2017-11-28
- */
-public class BinarySearchTree<ContentType extends ComparableContent<ContentType>> {
-
-	/* --------- Anfang der privaten inneren Klasse -------------- */
-
-	/**
-	 * Durch diese innere Klasse kann man dafuer sorgen, dass ein leerer Baum
-	 * null ist, ein nicht-leerer Baum jedoch immer eine nicht-null-Wurzel sowie
-	 * nicht-null-Teilbaeume hat.
-	 */
-	private class BSTNode<CT extends ComparableContent<CT>> {
-	  
-		private CT content;
-		private BinarySearchTree<CT> left, right;
-
-		public BSTNode(CT pContent) {
-			// Der Knoten hat einen linken und rechten Teilbaum, die 
-			// beide von null verschieden sind. Also hat ein Blatt immer zwei 
-			// leere Teilbaeume unter sich.
-			this.content = pContent;
-			left = new BinarySearchTree<CT>();
-			right = new BinarySearchTree<CT>();
-		}
-		
-	}
-
-	/* ----------- Ende der privaten inneren Klasse -------------- */
-
-	private BSTNode<ContentType> node;
-
-	/**
-	 * Der Konstruktor erzeugt einen leeren Suchbaum.
-	 */
-	public BinarySearchTree() {
-		this.node = null;
-	}
-
-	/**
-	 * Diese Anfrage liefert den Wahrheitswert true, wenn der Suchbaum leer ist,
-	 * sonst liefert sie den Wert false.
-	 * 
-	 * @return true, wenn der binaere Suchbaum leer ist, sonst false
-	 * 
-	 */
-	public boolean isEmpty() {
-		return this.node == null;
-	}
-
-	/**
-	 * Falls der Parameter null ist, geschieht nichts.<br />
-	 * Falls ein bezueglich der verwendeten Vergleichsmethode isEqual mit
-	 * pContent uebereinstimmendes Objekt im geordneten binaeren Suchbau
-	 * enthalten ist, passiert nichts. <br />
-	 * Achtung: hier wird davon ausgegangen, dass isEqual genau dann true
-	 * liefert, wenn isLess und isGreater false liefern. <br />
-	 * Andernfalls (isLess oder isGreater) wird das Objekt pContent entsprechend
-	 * der vorgegebenen Ordnungsrelation in den BinarySearchTree eingeordnet.
-	 * 
-	 * @param pContent
-	 *            einzufuegendes Objekt vom Typ ContentType
-	 *            
-	 */
-	public void insert(ContentType pContent) {
-		if (pContent != null) {
-			if (isEmpty()) {
-				this.node = new BSTNode<ContentType>(pContent);
-			} else if (pContent.isLess(this.node.content)) {
-				this.node.left.insert(pContent);
-			} else if(pContent.isGreater(this.node.content)) {
-				this.node.right.insert(pContent);
-			}
-		}
-	}
-
-	/**
-	 * Diese Anfrage liefert den linken Teilbaum des binaeren Suchbaumes. <br />
-	 * Wenn er leer ist, wird null zurueckgegeben.
-	 * 
-	 * @return den linken Teilbaum (Objekt vom Typ BinarySearchTree<ContentType>) 
-	 *         bzw. null, wenn der Suchbaum leer ist
-	 *         
-	 */
-	public BinarySearchTree<ContentType> getLeftTree() {
-		if (this.isEmpty()) {
-			return null;
-		} else {
-			return this.node.left;
-		}
-	}
-
-	/**
-	 * Diese Anfrage liefert das Inhaltsobjekt des Suchbaumes. Wenn der Suchbaum
-	 * leer ist, wird null zurueckgegeben.
-	 * 
-	 * @return das Inhaltsobjekt vom Typ ContentType bzw. null, wenn der aktuelle
-	 *         Suchbaum leer ist
-	 *         
-	 */
-	public ContentType getContent() {
-		if (this.isEmpty()) {
-			return null;
-		} else {
-			return this.node.content;
-		}
-	}
-
-	/**
-	 * Diese Anfrage liefert den rechten Teilbaum des binaeren Suchbaumes. <br />
-	 * Wenn er leer ist, wird null zurueckgegeben.
-	 * 
-	 * @return den rechten Teilbaum (Objekt vom Typ BinarySearchTree<ContentType>) 
-	 *         bzw. null, wenn der aktuelle Suchbaum leer ist
-	 *         
-	 */
-	public BinarySearchTree<ContentType> getRightTree() {
-		if (this.isEmpty()) {
-			return null;
-		} else {
-			return this.node.right;
-		}
-	}
-
-	/**
-	 * Falls ein bezueglich der verwendeten Vergleichsmethode mit
-	 * pContent uebereinstimmendes Objekt im binaeren Suchbaum enthalten
-	 * ist, wird dieses entfernt. Falls der Parameter null ist, aendert sich
-	 * nichts.
-	 * 
-	 * @param pContent
-	 *            zu entfernendes Objekt vom Typ ContentType
-	 *            
-	 */
-	public void remove(ContentType pContent) {
-		if (isEmpty() || pContent == null ) {
-			// Abbrechen, da kein Element zum entfernen vorhanden ist.
-		  return;
-		}
-		
-		if (pContent.isLess(node.content)) {
-			// Element ist im linken Teilbaum zu loeschen.
-			node.left.remove(pContent);
-		} else if (pContent.isGreater(node.content)) {
-			// Element ist im rechten Teilbaum zu loeschen.
-			node.right.remove(pContent);
-		} else {
-			// Element ist gefunden.
-			if (node.left.isEmpty()) {
-				if (node.right.isEmpty()) {
-					// Es gibt keinen Nachfolger.
-					node = null;
-				} else {
-					// Es gibt nur rechts einen Nachfolger.
-					node = getNodeOfRightSuccessor();
-				}
-			} else if (node.right.isEmpty()) {
-				// Es gibt nur links einen Nachfolger.
-				node = getNodeOfLeftSuccessor();
-			} else {
-				// Es gibt links und rechts einen Nachfolger.
-				if (getNodeOfRightSuccessor().left.isEmpty()) {
-					// Der rechte Nachfolger hat keinen linken Nachfolger.
-					node.content = getNodeOfRightSuccessor().content;
-					node.right = getNodeOfRightSuccessor().right;
-				} else {
-					BinarySearchTree<ContentType> previous = node.right
-							.ancestorOfSmallRight();
-					BinarySearchTree<ContentType> smallest = previous.node.left;
-					this.node.content = smallest.node.content;
-					previous.remove(smallest.node.content);
-				}
-			}
-		}		
-	}
-
-	/**
-	 * Falls ein bezueglich der verwendeten Vergleichsmethode isEqual mit
-	 * pContent uebereinstimmendes Objekt im binaeren Suchbaum enthalten ist,
-	 * liefert die Anfrage dieses, ansonsten wird null zurueckgegeben. <br />
-	 * Falls der Parameter null ist, wird null zurueckgegeben.
-	 * 
-	 * @param pContent
-	 *            zu suchendes Objekt vom Typ ContentType
-	 * @return das gefundene Objekt vom Typ ContentType, bei erfolgloser Suche null
-	 * 
-	 */
-	public ContentType search(ContentType pContent) {
-		if (this.isEmpty() || pContent == null) {
-			// Abbrechen, da es kein Element zu suchen gibt.
-			return null;
-		} else {
-			ContentType content = this.getContent();
-			if (pContent.isLess(content)) {
-				// Element wird im linken Teilbaum gesucht.
-				return this.getLeftTree().search(pContent);
-			} else if (pContent.isGreater(content)) {
-				// Element wird im rechten Teilbaum gesucht.
-				return this.getRightTree().search(pContent);
-			} else if (pContent.isEqual(content)) {
-				// Element wurde gefunden.
-			  return content;				
-			} else {	
-			  // Dieser Fall sollte nicht auftreten.
-				return null;
-			}
-		}
-	}
-
-	/* ----------- Weitere private Methoden -------------- */
-
-	/**
-	 * Die Methode liefert denjenigen Baum, dessen linker Nachfolger keinen linken
-	 * Nachfolger mehr hat. Es ist also spaeter moeglich, in einem Baum im
-	 * rechten Nachfolger den Vorgaenger des linkesten Nachfolgers zu finden.
-	 * 
-	 */
-	private BinarySearchTree<ContentType> ancestorOfSmallRight() {		
-		if (getNodeOfLeftSuccessor().left.isEmpty()) {
-			return this;
-		} else {
-			return node.left.ancestorOfSmallRight();
-		}
-	}
-
-	private BSTNode<ContentType> getNodeOfLeftSuccessor() {
-		return node.left.node;
-	}
-
-	private BSTNode<ContentType> getNodeOfRightSuccessor() {
-		return node.right.node;
-	}
-
-}
diff --git a/jodie/ComparableContent.java b/jodie/ComparableContent.java
deleted file mode 100644
index 419eabf38bf3b581dba0053c09ec3d0bd5177712..0000000000000000000000000000000000000000
--- a/jodie/ComparableContent.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package jodie;
-
- /**
- * <p>
- * Materialien zu den zentralen NRW-Abiturpruefungen im Fach Informatik ab 2018
- * </p>
- * <p>
- * Generisches Interface (Schnittstelle) ComparableContent<ContentType>
- * </p>
- * <p>
- * <p>Das generische Interface ComparableContent<ContentType> legt die Methoden
- * fest, ueber die Objekte verfuegen muessen, die in einen binaeren Suchbaum
- * (BinarySearchTree) eingefuegt werden sollen. Die Ordnungsrelation wird in
- * Klassen, die ComparableContent implementieren durch Ueberschreiben der drei
- * implizit abstrakten Methoden isGreater, isEqual und isLess festgelegt. 
- * </p>
- * </p>
- * @author Qualitaets- und UnterstuetzungsAgentur - Landesinstitut fuer Schule
- * @version Generisch_02 2014-03-01
- */ 
-public interface ComparableContent<ContentType> {
-
-  /**
-   * Wenn festgestellt wird, dass das Objekt, von dem die Methode aufgerufen
-   * wird, bzgl. der gewuenschten Ordnungsrelation groesser als das Objekt
-   * pContent ist, wird true geliefert. Sonst wird false geliefert.
-   *
-   * @param pContent
-   *          das mit dem aufrufenden Objekt zu vergleichende Objekt vom
-   *          Typ ContentType
-   * @return true, wenn das aufrufende Objekt groesser ist als das Objekt
-   *         pContent, sonst false
-   */
-  public boolean isGreater(ContentType pContent);
-
-  /**
-   * Wenn festgestellt wird, dass das Objekt, von dem die Methode aufgerufen
-   * wird, bzgl. der gewuenschten Ordnungsrelation gleich gross wie das Objekt
-   * pContent ist, wird true geliefert. Sonst wird false geliefert.
-   *
-   * @param pContent
-   *          das mit dem aufrufenden Objekt zu vergleichende Objekt vom
-   *          Typ ContentType
-   * @return true, wenn das aufrufende Objekt gleich gross ist wie das Objekt
-   *         pContent, sonst false
-   */
-  public boolean isEqual(ContentType pContent);
-
-  /**
-   * Wenn festgestellt wird, dass das Objekt, von dem die Methode aufgerufen
-   * wird, bzgl. der gewuenschten Ordnungsrelation kleiner als das Objekt
-   * pContent ist, wird true geliefert. Sonst wird false geliefert.
-   *
-   * @param pContent
-   *          das mit dem aufrufenden Objekt zu vergleichende Objekt vom
-   *          Typ ContentType
-   * @return true, wenn das aufrufende Objekt kleiner ist als das Objekt
-   *         pContent, sonst false   
-   */     
-  public boolean isLess(ContentType pContent);
-
-}
diff --git a/jodie/Dokumentation, UML Diagramm und Aufgabe/.gitkeep b/jodie/Dokumentation, UML Diagramm und Aufgabe/.gitkeep
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git "a/jodie/Dokumentation, UML Diagramm und Aufgabe/Bin\303\244rer Suchbaum und UML Diagramm.md" "b/jodie/Dokumentation, UML Diagramm und Aufgabe/Bin\303\244rer Suchbaum und UML Diagramm.md"
deleted file mode 100644
index 02146fe81160213a2263a83370af7ef5bd712342..0000000000000000000000000000000000000000
--- "a/jodie/Dokumentation, UML Diagramm und Aufgabe/Bin\303\244rer Suchbaum und UML Diagramm.md"	
+++ /dev/null
@@ -1,49 +0,0 @@
-## Binärer Suchbaum für die Benutzerverwaltung
-Der folgende binärer Suchbaum ist die Basis für die spätere Implementation.
-
-```mermaid
-graph TB
-    A([gerd44])---B([elfriede41])
-    A---C([pia96])
-    B---D([ayce90])
-    B---E([frank78])
-    C---F([max62])
-    C---G([tina90])
-    D---H([alfred65])
-    D---I([chuck73])
-    F---J([jan62])
-    F---K([michelle73])
-    G---L([susi81])
-    G---M([udo86])
-    M---N([yoki33])
-``` 
-
-## UML Diagramm
-```mermaid
-classDiagram
-BinarySearchTree~Benutzerprofil~  <-- Benutzerverwaltung : -benutzerBaum
-ComparableContent  <-- Benutzerprofil~Benutzerprofil~
-
-class ComparableContent {
-    <<interface>>
-    +isGreater(ContentType pContent) boolean
-    +isLess(ContentType pContent) boolean   
-    +isEqual(ContentType pContent) boolean 
-}
-
-class Benutzerprofil {
-    -String benutzername
-    +Benutzerprofil(String login, String pw)
-    +getBenutzername() String
-    +isGreater(ContentType pContent) boolean
-    +isLess(ContentType pContent) boolean   
-    +isEqual(ContentType pContent) boolean 
-}
-
-class Benutzerverwaltung {
-    +Benutzerverwaltung()
-    +neuenBenutzerAnlegen(String pBenutzername, String pPw) void
-    +nutzerLoeschen(String pBenutzername, String pPw) void
-    +profilVoranden(String pBenutzername) void
-}
-```
diff --git a/jodie/README.TXT b/jodie/README.TXT
deleted file mode 100644
index 0ad193f8a68aa7c4e64414512266a9607a36219c..0000000000000000000000000000000000000000
--- a/jodie/README.TXT
+++ /dev/null
@@ -1,14 +0,0 @@
-------------------------------------------------------------------------
-Dies ist die README-Datei des Projekts. Hier sollten Sie Ihr Projekt
-beschreiben.
-Erzählen Sie dem Leser (jemand, der nichts über dieses Projekt weiss),
-alles, was er/sie wissen muss. Üblicherweise sollte der Kommentar 
-zumindest die folgenden Angaben umfassen:
-------------------------------------------------------------------------
-
-PROJEKTBEZEICHNUNG:
-PROJEKTZWECK:
-VERSION oder DATUM:
-WIE IST DAS PROJEKT ZU STARTEN:
-AUTOR(EN):
-BENUTZERHINWEISE:
diff --git a/jodie/package.bluej b/jodie/package.bluej
deleted file mode 100644
index 36d8b8c218fd64db7e431a21f0c3d6e9372e10a7..0000000000000000000000000000000000000000
--- a/jodie/package.bluej
+++ /dev/null
@@ -1,68 +0,0 @@
-#BlueJ package file
-dependency1.from=Benutzerverwaltung_Jodie
-dependency1.to=BinarySearchTree
-dependency1.type=UsesDependency
-dependency2.from=Benutzerverwaltung_Jodie
-dependency2.to=Benutzerprofil
-dependency2.type=UsesDependency
-objectbench.height=101
-objectbench.width=1416
-package.divider.horizontal=0.6
-package.divider.vertical=0.856
-package.editor.height=635
-package.editor.width=1292
-package.editor.x=0
-package.editor.y=24
-package.frame.height=808
-package.frame.width=1440
-package.numDependencies=2
-package.numTargets=6
-package.showExtends=true
-package.showUses=true
-readme.height=60
-readme.name=@README
-readme.width=48
-readme.x=10
-readme.y=10
-target1.height=70
-target1.name=Benutzerprofil_Jodie
-target1.showInterface=false
-target1.type=ClassTarget
-target1.width=240
-target1.x=770
-target1.y=210
-target2.height=70
-target2.name=Benutzerverwaltung_Jodie
-target2.showInterface=false
-target2.type=ClassTarget
-target2.width=190
-target2.x=410
-target2.y=400
-target3.height=70
-target3.name=ComparableContent
-target3.showInterface=false
-target3.type=InterfaceTarget
-target3.width=250
-target3.x=170
-target3.y=210
-target4.height=70
-target4.name=Benutzerprofil
-target4.showInterface=false
-target4.type=ClassTarget
-target4.width=120
-target4.x=230
-target4.y=460
-target5.height=70
-target5.name=Benutzerverwaltung
-target5.showInterface=false
-target5.type=ClassTarget
-target5.width=150
-target5.x=490
-target5.y=40
-target6.height=70
-target6.name=BinarySearchTree
-target6.showInterface=false
-target6.type=ClassTarget
-target6.width=240
-target6.x=650
-target6.y=460