diff --git a/src/HT/fx/OtteluIkkunaGUIController.java b/src/HT/fx/OtteluIkkunaGUIController.java
index a2c95e9aca79ee1543945b0ac1249fad7f4a4d8a..7bedb1d46e63ec433dbb8194c4c84315b3aa9fa9 100644
--- a/src/HT/fx/OtteluIkkunaGUIController.java
+++ b/src/HT/fx/OtteluIkkunaGUIController.java
@@ -4,8 +4,10 @@ import fi.jyu.mit.fxgui.Dialogs;
 import fi.jyu.mit.fxgui.ModalController;
 import fi.jyu.mit.fxgui.ModalControllerInterface;
 import javafx.event.ActionEvent;
+import javafx.event.EventHandler;
 import javafx.fxml.FXML;
 import javafx.scene.Node;
+import javafx.scene.control.Button;
 import javafx.scene.control.TextField;
 import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.VBox;
@@ -31,6 +33,18 @@ public class OtteluIkkunaGUIController implements ModalControllerInterface<Strin
         boksi.getChildren().add(newField);
     }
     
+    @FXML private void lisaaNappi(VBox boksi) {
+        Button uusiNappi = new Button("Muokkaa");
+        uusiNappi.setOnMouseClicked(new EventHandler<MouseEvent>() {
+            @Override
+            public void handle(MouseEvent arg0) {
+                int i = boksi.getChildren().indexOf(uusiNappi);
+                muokkaaOttelu(null, "kanat", i);
+            }
+        });
+        boksi.getChildren().add(uusiNappi);
+    }
+    
     @FXML  void handleLisaaOttelu() {
         lisaakentat();
         LisaaOttelu(null, "kanat");
@@ -44,19 +58,22 @@ public class OtteluIkkunaGUIController implements ModalControllerInterface<Strin
                 "Lisää ottelu", modalityStage, oletus);
     }
     
+    public static String muokkaaOttelu(Stage modalityStage, String oletus, int i) {
+        return ModalController.showModal(
+                PadelLisaaOtteluGUIController.class.getResource("PadelLisaaOtteluGUIView.fxml"),
+                "Lisää ottelu", modalityStage, oletus);
+    }
+    
     
     public void lisaakentat() {
         lisaatekstikentta(Joukkue1VBox);
         lisaatekstikentta(Joukkue2VBox);
-        lisaatekstikentta(MuokkaaVBox);
+        lisaaNappi(MuokkaaVBox);
         lisaatekstikentta(TulosVBox);
     }
     
     public void SyotaTulos() {
         int i = 0;
-        int j = 0;
-        int k = 0;
-        int l = 0;
         
         Ottelu ottelu = PadelMainGUIController.getKarkelo().noudaOttelu(i);
         int[] numerot = ottelu.getPelaajaNrot();
@@ -75,7 +92,7 @@ public class OtteluIkkunaGUIController implements ModalControllerInterface<Strin
                 TextField tf = (TextField) lapsi;
             
                 tf.setText(ottelu.getLopputulos());
-                j++;
+                
             }
         }
         
@@ -84,18 +101,10 @@ public class OtteluIkkunaGUIController implements ModalControllerInterface<Strin
                 TextField tf = (TextField) lapsi;
             
                 tf.setText(haePelaaja(numerot[2]) + ", " + haePelaaja(numerot[3]));
-                k++;
-            }
-        }
-        
-        for (Node lapsi : MuokkaaVBox.getChildren()) {
-            if (lapsi instanceof TextField) {
-                //TextField tf = (TextField) lapsi;
-            
-                //tähän funktio joka luo muokkaa-napin
-                //l++;
+                
             }
         }
+
     }
     
     public String haePelaaja(int i) {
diff --git a/src/HT/fx/PadelLisaaOtteluGUIController.java b/src/HT/fx/PadelLisaaOtteluGUIController.java
index 32090b6f96e3b753ae35213e4b0ab8cc2f5378ec..4c1fe207a28cc3f6609b902ec9466483c67f1cec 100644
--- a/src/HT/fx/PadelLisaaOtteluGUIController.java
+++ b/src/HT/fx/PadelLisaaOtteluGUIController.java
@@ -85,7 +85,7 @@ public class PadelLisaaOtteluGUIController implements ModalControllerInterface<S
         int PelaajaNro4 = menuOsallistuja4.getSelectedIndex();
         int VoittajaNro1 = menuVoittaja1.getSelectedIndex();
         int VoittajaNro2 = menuVoittaja2.getSelectedIndex();
-        String lopputulos = textLopputulos.toString();
+        String lopputulos = textLopputulos.getText();
 
         
         Ottelu uusi = new Ottelu(otteluPvm.getValue(), PelaajaNro1, PelaajaNro2, PelaajaNro3, PelaajaNro4, VoittajaNro1, VoittajaNro2, lopputulos);
diff --git a/src/HT/fx/PadelMainGUIController.java b/src/HT/fx/PadelMainGUIController.java
index 67d9146ae9682c9c1ecffca2f025fa81f2f06665..cc915ea5ce6658dc56a1df9118ae4156e0ec4023 100644
--- a/src/HT/fx/PadelMainGUIController.java
+++ b/src/HT/fx/PadelMainGUIController.java
@@ -1,10 +1,16 @@
 package HT.fx;
 
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.OutputStream;
 import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.Scanner;
 
 import fi.jyu.mit.fxgui.Dialogs;
 import fi.jyu.mit.fxgui.ModalController;
+import fi.jyu.mit.ohj2.Mjonot;
 import javafx.fxml.FXML;
 import javafx.fxml.FXMLLoader;
 import javafx.scene.Node;
@@ -53,6 +59,15 @@ public class PadelMainGUIController {
         
     }
     
+
+    @FXML void handleTallenna() {
+        
+    }
+    
+    @FXML void handleHaeTiedot() {
+        Lukija("/Users/joonatan/kurssit/ohj2/ht/src/Pelaajatiedot");
+    }
+    
     @FXML private void lisaatekstikentta(VBox boksi) {
         TextField newField = new TextField();
         boksi.getChildren().add(newField);
@@ -92,6 +107,45 @@ public class PadelMainGUIController {
                 "Lisää pelaaja", modalityStage, oletus);
     }
     
+    /**
+     * @param tiedNimi Lukee tiedot tietystä tiedostosta
+     */
+    public void Lukija(String tiedNimi) {
+        try (Scanner fi = new Scanner(new FileInputStream(new File(tiedNimi)))) { // Jotta UTF8/ISO-8859 toimii
+
+            
+            while ( fi.hasNext() ) {
+                String s = fi.nextLine();
+                if(s.length()>1) {
+                    lisaakentat();
+                    
+                    StringBuffer sb = new StringBuffer(s);
+                    String nimi = Mjonot.erota(sb,'|',false);
+                    String syntymapaiva = Mjonot.erota(sb,'|',false);
+                    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d.M.yyyy");
+                    LocalDate synt = LocalDate.parse(syntymapaiva, formatter);
+                    String rating = Mjonot.erota(sb,'|',false);
+                    String sapo = Mjonot.erota(sb,'|',false);
+                    String auto = Mjonot.erota(sb,'|',false);
+                    boolean onkoauto = false;
+                    if(Integer.parseInt(auto)==1) {
+                        onkoauto = true;
+                    }
+                    Pelaaja uusi = new Pelaaja(nimi,synt,Integer.parseInt(rating),sapo ,onkoauto);
+                    
+                    LisaaPelaaja(uusi);
+                    
+                }
+            }
+        } catch (FileNotFoundException ex) {
+            System.err.println("Tiedosto ei aukea! " + ex.getMessage());
+            ex.printStackTrace();
+            return;
+        }
+        syotatiedot();
+
+    }
+    
     /**
      * Lisää tarvittavat kentät kun pelaaja luodaan
      */
@@ -128,16 +182,16 @@ public class PadelMainGUIController {
                 j++;
             }
         }
-        /*
+        
         for (Node lapsi : RatingVbox.getChildren()) {
             if (lapsi instanceof TextField) {
                 TextField tf = (TextField) lapsi;
             
-                tf.setText(karkelo.annaPelaaja(n).getRating());
+                tf.setText(String.valueOf(karkelo.annaPelaaja(n).getRating()));
                 n++;
             }
         }
-        */
+        
         for (Node lapsi : SapoVbox.getChildren()) {
             if (lapsi instanceof TextField) {
                 TextField tf = (TextField) lapsi;
@@ -240,6 +294,8 @@ public class PadelMainGUIController {
         LisaaPelaaja(uusi8);
         
         
+        
+        
     }
 
     /**
diff --git a/src/HT/fx/PadelMainGUIView.fxml b/src/HT/fx/PadelMainGUIView.fxml
index 1f064df59e563084b1bda997700568ee791ba486..e9f05eeb98abe76aeee91bc8f320f3119d93cebf 100644
--- a/src/HT/fx/PadelMainGUIView.fxml
+++ b/src/HT/fx/PadelMainGUIView.fxml
@@ -13,6 +13,8 @@
    <children>
       <ButtonBar layoutX="200.0" layoutY="366.0" prefHeight="40.0" prefWidth="200.0" AnchorPane.bottomAnchor="-3.0" AnchorPane.leftAnchor="2.5" AnchorPane.rightAnchor="2.5">
         <buttons>
+            <Button mnemonicParsing="false" onMouseClicked="#handleHaeTiedot" text="Hae tiedot" />
+            <Button mnemonicParsing="false" onMouseClicked="#handleTallenna" text="Tallenna" />
           <Button mnemonicParsing="false" onMouseClicked="#handleLisaamuokkaaottelu" text="Lisää ottelu" />
             <Button mnemonicParsing="false" onMouseClicked="#handleLisaapelaaja" text="Lisää pelaaja" />
         </buttons>
diff --git a/src/Pelaajatiedot b/src/Pelaajatiedot
new file mode 100644
index 0000000000000000000000000000000000000000..1cfbb45cabfd1d4d371e1d8fcb3c468a0acc521c
--- /dev/null
+++ b/src/Pelaajatiedot
@@ -0,0 +1,2 @@
+Teppo Tulppu|19.5.1959|1800|tepi@gmail.com|0|
+Aku Ankka|19.5.1999|1000|aku@gmail.com|1|
\ No newline at end of file