diff --git a/src/UNO.java b/src/UNO.java
index 74ed1011028ea15271773fe4e23848b729e3042e..d3538e47bc82f43184056f48e51ac896f30cd904 100644
--- a/src/UNO.java
+++ b/src/UNO.java
@@ -1,153 +1,7 @@
-import java.util.Scanner;
-
 
 public class UNO {
     public static void main(String[] args) {
-        //Die benötigten Klassen werden aufgerufen
-        UnoDeck deck = new UnoDeck();
-        Regelwerk regel = new Regelwerk();
-        Scanner scanner = new Scanner(System.in);
-
-        // Sobald start geschrieben wurde, wird das ganze spiel erstellt
-        System.out.println("Zum Starten, Start schreiben");
-        String start = scanner.nextLine();
-        if ("start".equals(start.toLowerCase())) {
-            deck.befuellen();                       //Befüllt das deck
-            deck.mischeHand();                      //mischehand mischt das Deck
-            regel.reihenfolgeFestlegen();
-            regel.wunschFestlegen();                //
-
-            //Spieler Namen Abfrage und Anzahl der Spieler
-            System.out.println("Kurze Information: mind. 2 Player max. 4 Player");
-            System.out.println("Enter Player Names:");
-            int index;
-            int PlayerAnzahl = 0;
-            String Antwort;
-            String PlayerNameInput;
-            String PlayerName[] = {"Joy Bot", "Note Bot", "Quick Bot", "CyBot"};
-            //Spielernamen werden befüllt
-            for (index = 0; index < 4; ) {
-                PlayerAnzahl++;
-                PlayerNameInput = scanner.nextLine();
-                PlayerName[index] = PlayerNameInput;
-                index++;
-                if (index >= 2) {
-                    System.out.println("Sind das die Maximalen Spieler?");
-                    Antwort = scanner.nextLine();
-                    if ("ja".equals(Antwort.toLowerCase())) {
-                        index = 4;
-                    } else if (index != 4) {
-                        System.out.println("Weitere Spieler:");
-                    }
-                }
-            }
-
-            //Die Klasse Spielerhand wird aufgerufen und die PlayerName Paramentern werden übergeben
-            SpielerHand spielerHand = new SpielerHand(PlayerName[0], PlayerName[1], PlayerName[2], PlayerName[3]);
-            spielerHand.befuelleSpieleHand(0,deck,7);
-            spielerHand.befuelleSpieleHand(1,deck,7);
-            spielerHand.befuelleSpieleHand(2,deck,7);
-            spielerHand.befuelleSpieleHand(3,deck,7);
-
-
-
-
-            //GameLoop:
-            boolean win = false;
-            int zug = 1;
-            UnoKarte aktuelleKarte = regel.ersteKarte(deck,zug,deck.hand.size());
-            int legeKarte;
-            boolean geht = false;   //Das boolean hilft bei der kontrolle, ob die Karte legbar ist!!!!
-            while (!win) {
-                //Zug wird gestartet, sobald start geschrieben wird
-                System.out.println("Zum Zug Starten, Start schreiben");
-                if("start" .equals(scanner.nextLine().toLowerCase())) {
-                    System.out.println("Die Aktuelle Karte: \n" + aktuelleKarte);
-                    zug++;
-                    int spieler = regel.reihenfolge();
-                    spielerHand.zeigeHaende(spieler);
-                    System.out.println("legen oder ziehen");
-                    //Karte Legen
-                    if ("legen".equals(scanner.nextLine().toLowerCase())) {
-                        System.out.println("Welche Karte?(Index)");
-                        legeKarte = Integer.parseInt(scanner.nextLine());
-                        UnoKarte neueKarte = spielerHand.spielerHaende.get(spieler).get(legeKarte-1);
-                        geht = true;
-                        //Wenn Karte legbar, wird Karte gelegt
-                        if (geht == regel.karteLegbar(aktuelleKarte, neueKarte,PlayerName, deck, spielerHand)) {
-                            spielerHand.entferneKarteHand(spieler, legeKarte, deck, zug);
-                            System.out.println("karte wurde gelegt");
-                            aktuelleKarte =neueKarte;
-                            geht = false;
-                            //Karte kann nicht gelegt werden
-                        }else {
-                            while(geht == true) {
-                                System.out.println("Die Aktuelle Karte: \n" + aktuelleKarte);
-                                System.out.println("karte wurde nicht gelegt");
-                                System.out.println("Weiterhin legen?(ja/nein)");
-                                //Karte legen wenn ja geschrieben wird
-                                if ("ja".equals(scanner.nextLine().toLowerCase())) {
-                                    System.out.println("Welche Karte?(Index)");
-                                    legeKarte = Integer.parseInt(scanner.nextLine());
-                                    neueKarte = spielerHand.spielerHaende.get(spieler).get(legeKarte-1);
-                                    //Wenn Karte legbar, wird Karte gelegt
-                                    if (geht == regel.karteLegbar(aktuelleKarte, neueKarte,PlayerName,deck, spielerHand)) {
-                                        spielerHand.entferneKarteHand(spieler, legeKarte, deck, zug);
-                                        aktuelleKarte = neueKarte;
-                                        System.out.println("karte wurde gelegt");
-                                        geht = false;
-                                    }
-                                    // Karte ziehen wenn ja nicht geschrieben wird
-                                } else {
-                                    spielerHand.befuelleSpieleHand(spieler, deck, 1);
-                                    System.out.println("Karte wurde gezogen");
-                                    geht = false;
-                                }
-                            }
-                        }
-                        //Karte Ziehen
-                    } else {
-                        spielerHand.befuelleSpieleHand(spieler, deck, 1);
-                        int size = spielerHand.spielerHaende.get(spieler).size();
-                        System.out.println("Die Aktuelle Karte: \n" + aktuelleKarte);
-                        System.out.println("Gezogene Karte: " + spielerHand.spielerHaende.get(spieler).get(size - 1));
-                        System.out.println("legen oder behalten?");
-                        //Gezogene Karte legen
-                        if ("legen".equals(scanner.nextLine().toLowerCase())) {
-                            UnoKarte neueKarte = spielerHand.spielerHaende.get(spieler).get(size - 1);
-                            System.out.println(neueKarte);
-                            geht = true;
-                            //Karte ist legbar
-                            if (geht == regel.karteLegbar(aktuelleKarte, neueKarte,PlayerName, deck, spielerHand)) {
-                                spielerHand.entferneKarteHand(spieler, size, deck, zug);
-                                System.out.println("karte wurde gelegt");
-                                aktuelleKarte =neueKarte;
-                                geht = false;
-                                //Karte ist nicht legbar
-                            }else {
-                                System.out.println("Karte wurde nicht gelegt");
-                            }
-                        }
-                    }
-                    //Wenn nur eine Karte vorhanden -> UNO
-                    if(spielerHand.spielerHaende.get(spieler).size() == 1){
-                        System.out.println("Möchtest du Uno sagen?");
-                        //Wenn uno eingegeben wird -> weitermachen
-                        if("uno" .equals(scanner.nextLine().toLowerCase())){
-                            continue;
-                            // Falls nicht -> 1 ziehen
-                        }else {
-                            spielerHand.befuelleSpieleHand(spieler, deck, 1);
-                        }
-                    }
-                    //Spieler gewinnt wenn 0 Karten in der Hand ist und Spieler werden nach den Anzahl der Karten gewertet
-                    if(spielerHand.spielerHaende.get(spieler).size() == 0){
-                        spielerHand.ranking();
-                        win = true;
-                    }
-                }
-            }
-        }
+        RunGame rungame = new RunGame();
+        rungame.Start();
     }
 }
-