diff --git a/src/rekisteri/RalliGUIController.java b/src/rekisteri/RalliGUIController.java
index ea959deab00e3c8c9cf28ec3439452fcb0aeb32a..4df5ecacc76d7532ed41db83a3f75c8c2b659cb6 100644
--- a/src/rekisteri/RalliGUIController.java
+++ b/src/rekisteri/RalliGUIController.java
@@ -11,6 +11,7 @@ import javafx.fxml.FXML;
 import javafx.fxml.Initializable;
 
 import javafx.scene.control.TextField;
+import rekisteriJAVA.Rekisteri;
 
 
 
@@ -23,46 +24,100 @@ import javafx.scene.control.TextField;
 public class RalliGUIController implements Initializable {
 
     @FXML private TextField textHaettava; //haettava aloitusikkunasta
+    @FXML private TextField textrajaus;
     
-    @FXML private void handleHae() {
-        hae();
-    }
+    private String rekisterinNimi = "ralliAsia";
     
+    @FXML private void handleHae() { hae(); }
     
-    @FXML private void handleLopeta() {
-        tallenna();
-        Platform.exit();
-    }
     
+    @FXML private void handleTarkasteluun() { tarkasteluun();}
+    
+    
+    /**
+     * Ajetaan, kun klikataan "Lisää uusi"
+     */
+    @FXML private void handleUusi() { lisaaUusi();}
     
-    @FXML private void handleTarkasteluun() {
-        tarkasteluun();
+    /**
+     * Ajetaan kun klikataan menusta "Tulosta"
+     */
+    @FXML private void handleTulosta() {
+        //TulostusController.tulosta(null);
     }
     
+    /** 
+     * Ajetaan, kun klikataan "Peruuta" näppäintä. Auki ollut ikkuna suljetaan eikä mahdollisia muutoksia tallenneta
+     */
+    @FXML private void handlePeruuta() { peruuta();}
     
+    /**
+     * Ajetaan kun klikataan "Muokkaa". Avaa uuden ikkunan, missä valitun henkilön tai rallin tietoja voi muokata
+     */
+    @FXML private void handleMuokkaa() { 
+        ModalController.showModal(RalliGUIController.class.getResource("HenkiloDialogView.fxml"), "Henkilo", null, "");
+    }
     
-    @FXML private void handleUusi() {
-        lisaaUusi();
+    /**
+     * Ajetaan, kun klikataan "Poista henkilö" henkilön kohdalla
+     */
+    @FXML private void handlePoistaHenkilo() {
+        Dialogs.showMessageDialog("Poistetaan henkilö, ei toimi vielä");
     }
     
     
-    @FXML private void handlePeruuta() {
-        peruuta();
+    /**
+     * Ajetaan, kun klikataan "Poista ralli" rallien kohdalla
+     */
+    @FXML private void handlePoistaRalli() {
+        Dialogs.showMessageDialog("Poistetaan ralli, ei toimi vielä");
     }
     
     
-    @FXML private void handleMuokkaa() {
-        muokkaa();
+    /**
+     * Ajetaan, kun klikataan "Tallenna"
+     */
+    @FXML private void handleTallenna() { tallenna();}
+    
+    
+    /**
+     * Ajetaan, kun klikataan "Poistu" näppäintä
+     */
+    @FXML private void handlePoistu() { peruuta();}
+    
+    
+    /**
+     * Ajetaan, kun valitaan rajaus/hakuehto valikosta
+     */
+    @FXML private void handleRajaus() { 
+        Dialogs.showMessageDialog("Rajataan hakuehtoja, ei toimi");
+        //String hakukentta = rajaus.getSelectedText(); //hakee rajauksen
+        //String ehto = hakuehto.getText(); //saadaan hakuehto tekstikentästä
+        //    if(ehto.isEmpty() ) naytaVirhe(null); //miten toimitaan jos hakuehtoa ei määritelty
+        //    else naytaVirhe("Ei osata vielä hakea " + hakukentta + ": " + ehto); //kun hakuehto määritellään
     }
     
     
-    @FXML private void handleTallenna() {
-        tallenna();
+    /**
+     * Ajetaan, kun klikataan yläpalkista "Apua"
+     */
+    @FXML private void handleApua() {
+        apua();
     }
     
+    /**
+     * Ajetaan, kun klikataan menusta "Tiedot". Avaa uuden ikkunan, Tietoja.fxml tiedostosta
+     */
+    @FXML private void handleTiedot() {
+        ModalController.showModal(RalliGUIController.class.getResource("Tietoja.fxml"), "Ralli", null, "");
+    }
     
-    @FXML private void handlePoistu() {
-        peruuta();
+    /**
+     * @return voiko sulkea
+     */
+    @FXML public boolean voikoSulkea() {
+        tallenna();
+        return true;
     }
     
    
@@ -73,6 +128,12 @@ public class RalliGUIController implements Initializable {
     
     //==========================================================
     
+    private Rekisteri rekisteri;
+    
+    
+    private void alusta() {
+        //chooserHenkilot();
+    }
     /**
      * 
      */
@@ -87,6 +148,15 @@ public class RalliGUIController implements Initializable {
     public void lisaaUusi(){
         Dialogs.showMessageDialog("Avataan uuden lisääminen, ei toimi vielä");
         //ModalController.showModal(RalliGUIController.class.getResource("uusi.fxml"), "", null, "");
+        //Henkilo uusi new Henkilo();
+        //uusi.rekisteroi();
+        //uusi.vastaaKalleRovanpera(); //täyttää kallerovanperä tiedoilla
+        //try {
+        //    rekisteri.lisaa(uusi);
+        //} catch (SailoException e) {
+        //    Dialogs.showMessageDialog("Ongelmia uuden luomisessa " + e.getMessage());
+        //}
+        //hae(uusi.getTunnusNro());
     }
     
     /**
@@ -103,6 +173,13 @@ public class RalliGUIController implements Initializable {
         //String hakukenttaString = cbKentat.getSelectedText();
 
         Dialogs.showMessageDialog("Haetaan, ei toimi vielä");
+        
+        //chooserHenkilot.clear();
+        //int index = 0;
+    }
+    
+    private void apua() {
+        Dialogs.showMessageDialog("Avaa Apua-ikkunan, ei toimi vielä");
     }
 
     /**
@@ -118,6 +195,16 @@ public class RalliGUIController implements Initializable {
     public void peruuta() {
         Dialogs.showMessageDialog("Palataan takaisin, ei toimi vielä");
     }
+
+
+
+
+    public boolean avaa() {
+        //String uusiString = RekisterinNimiController.kysyNimi()
+        Dialogs.showMessageDialog("Avaa");
+    }
+    
+  
     
      
 }
\ No newline at end of file
diff --git a/src/rekisteri/RalliMain.java b/src/rekisteri/RalliMain.java
index 8a81ffe8b671c7bfefde521e45f9b5d1e814090f..40a13a42999fd002df37a6d3c4d635e062134246 100644
--- a/src/rekisteri/RalliMain.java
+++ b/src/rekisteri/RalliMain.java
@@ -1,6 +1,7 @@
 package rekisteri;
 
 import javafx.application.Application;
+import javafx.application.Platform;
 import javafx.stage.Stage;
 import javafx.scene.Scene;
 import javafx.scene.layout.BorderPane;
@@ -18,18 +19,23 @@ public class RalliMain extends Application {
     public void start(Stage primaryStage) {
         try {
             
-            BorderPane root = (BorderPane)FXMLLoader.load(getClass().getResource("RalliGUIView.fxml"));
+            //BorderPane root = (BorderPane)FXMLLoader.load(getClass().getResource("tarkastele.fxml"));
             
-            //FXMLLoader ldr = new FXMLLoader(getClass().getResource("RalliGUIView.fxml"));
-            //final Pane root = ldr.load();
-            //final RalliGUIController ralliCtrl = (RalliGUIController) ldr.getController();
+            final FXMLLoader ldr = new FXMLLoader(getClass().getResource("tarkastele.fxml"));   //määritellään mistä aloitetaan ja ladataan
+            final Pane root = (Pane)ldr.load();
+            final RalliGUIController ralliCtrl = (RalliGUIController)ldr.getController();       //ladataan kontrolleri
             
-            Scene scene = new Scene(root);
-            scene.getStylesheets().add(getClass().getResource("ralli.css").toExternalForm());
+            final Scene scene = new Scene(root);
+            scene.getStylesheets().add(getClass().getResource("ralli.css").toExternalForm());   //.css määrittely
             primaryStage.setScene(scene);
             primaryStage.setTitle("Ralli");
+            
+            primaryStage.setOnCloseRequest((event) -> {
+                if ( !ralliCtrl.voikoSulkea() ) event.consume();
+            });
+            
             primaryStage.show();
-            //ralliCtrl.jotain(getParameters()); ///KORJAA
+            if ( !ralliCtrl.avaa() ) Platform.exit(); 
             } catch(Exception e) {
             e.printStackTrace();
             }
diff --git a/src/rekisteri/tarkastele.fxml b/src/rekisteri/tarkastele.fxml
index 77cd650cc37edeca59871b86503bfb3d0d74a0d7..a43fff46238ca3cbee13d027687d2a1dd170c5d5 100644
--- a/src/rekisteri/tarkastele.fxml
+++ b/src/rekisteri/tarkastele.fxml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<?import fi.jyu.mit.fxgui.ListChooser?>
 <?import javafx.geometry.Insets?>
 <?import javafx.scene.control.Button?>
+<?import javafx.scene.control.ComboBox?>
 <?import javafx.scene.control.Label?>
 <?import javafx.scene.control.Menu?>
 <?import javafx.scene.control.MenuBar?>
@@ -45,16 +45,17 @@
             <Button mnemonicParsing="false" onAction="#handleUusi" text="Lisää uusi" />
             <Button mnemonicParsing="false" onAction="#handleMuokkaa" text="Muokkaa tietoja" />
             <Button mnemonicParsing="false" onAction="#handlePoistu" text="Takaisin" />
+            <Button mnemonicParsing="false" onAction="#handlePoistu" text="Poistu" />
          </children>
       </HBox>
    </bottom>
    <left>
       <BorderPane prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER">
          <top>
-            <Label text="Rallit" BorderPane.alignment="CENTER" />
+            <Label text="Hakuehto" BorderPane.alignment="CENTER" />
          </top>
          <center>
-            <ListChooser rivit="SM-Ralli Pohjanmaa&#10;TGS-Ralli Korpilahti&#10;Takomoralli" BorderPane.alignment="CENTER" />
+            <ComboBox fx:id="rajaus" onAction="#handleRajaus" prefWidth="150.0" BorderPane.alignment="CENTER" />
          </center>
       </BorderPane>
    </left>
diff --git a/src/rekisteri/uusi.fxml b/src/rekisteri/uusi.fxml
index b03238bf984e96f002f7243529831a399a6ae8a5..03ba2f89ef6c52bd0f6afe703519ce0d734f8fef 100644
--- a/src/rekisteri/uusi.fxml
+++ b/src/rekisteri/uusi.fxml
@@ -117,11 +117,11 @@
             <content>
               <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
                      <children>
-                        <GridPane layoutX="278.0" layoutY="21.0" prefHeight="238.0" prefWidth="300.0">
+                        <GridPane layoutX="194.0" layoutY="21.0" prefHeight="238.0" prefWidth="384.0">
                           <columnConstraints>
-                            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
-                            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
-                              <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+                            <ColumnConstraints hgrow="SOMETIMES" maxWidth="123.199951171875" minWidth="10.0" prefWidth="84.0" />
+                            <ColumnConstraints hgrow="SOMETIMES" maxWidth="172.0" minWidth="10.0" prefWidth="151.20001220703125" />
+                              <ColumnConstraints hgrow="SOMETIMES" maxWidth="134.79998779296875" minWidth="10.0" prefWidth="134.79998779296875" />
                           </columnConstraints>
                           <rowConstraints>
                             <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
@@ -143,7 +143,7 @@
                                     <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
                                  </GridPane.margin>
                               </DatePicker>
-                              <DatePicker GridPane.columnIndex="2" GridPane.rowIndex="2">
+                              <DatePicker prefHeight="26.0" prefWidth="128.0" GridPane.columnIndex="2" GridPane.rowIndex="2">
                                  <GridPane.margin>
                                     <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
                                  </GridPane.margin>
@@ -154,7 +154,7 @@
                               <TextField GridPane.columnIndex="2" GridPane.rowIndex="6" />
                               <Label text="Tuloslista" GridPane.columnIndex="1" GridPane.rowIndex="6" />
                               <Label text="Osallistujalista" GridPane.columnIndex="1" GridPane.rowIndex="5" />
-                              <Label text="Linkki tapahtuman sivuille" GridPane.columnIndex="1" GridPane.rowIndex="4" />
+                              <Label prefHeight="18.0" prefWidth="157.0" text="Linkki tapahtuman sivuille" GridPane.columnIndex="1" GridPane.rowIndex="4" />
                               <Label text="Järjestäjä" GridPane.columnIndex="1" GridPane.rowIndex="3" />
                            </children>
                         </GridPane>
diff --git a/src/rekisteriJAVA/Henkilo.java b/src/rekisteriJAVA/Henkilo.java
new file mode 100644
index 0000000000000000000000000000000000000000..af40f804e869cbbfbfdbf61676b19933475233ae
--- /dev/null
+++ b/src/rekisteriJAVA/Henkilo.java
@@ -0,0 +1,69 @@
+package rekisteriJAVA;
+
+import java.io.PrintStream;
+
+
+/**
+ * 
+ * @author idamk
+ * @version 22.2.2023
+ *
+ */
+public class Henkilo {
+
+    private int         tunnusNro       = 0;
+    private String      nimi            = "";
+    private String      syntymaAika     = ""; // vai int?
+    private int         tehtava         = 0;
+    private String      kotiKunta       = "";
+    private String      seura           = "";
+    
+    
+    /**
+     * Oletusmuodostaja, asettaa henkilon tiedot tyhjäksi
+     */
+    public Henkilo() {
+        // ei tarvitse oletusmuodostajaa
+    }
+    
+    /**
+     * Tulostaa tietovirran, nyt "Kalle"
+     * @param out Kalle
+     */
+    public void tulosta(PrintStream out) {
+        out.println(String.format("%03d", tunnusNro) + " " + nimi);
+        out.println(syntymaAika + " " + kotiKunta);
+        out.println(tehtava + " " + seura);
+    }
+    
+    /**
+     * @param args ei käytössä
+     */
+    public static void main(String[] args) { //ei kuuluisi olla kuin yksi kpl ohjelmassa, ajaessa kerrotaan mikä main ajetaan
+        Henkilo kalle = new Henkilo(); //luo uuden jäsenen
+        //Henkilo kalle2 = new Henkilo();
+        
+        //kalle.rekisteroi(); //antaa numeron
+        //kalle2.rekisteroi();
+        
+        kalle.tulosta(System.out); //tulostaa näkyville, muttei shelliin
+        //kalle2.tulosta(System.out);
+        
+        //kalle.vastaaKalleRovanpera(); //täyttää lomakkeen valmiiksi
+        //kalle2.vastaaKalleRovanpera();
+        
+        //kalle.tulosta(System.out);
+        //kalle2.tulosta(System.out);
+
+    }
+    
+    
+    
+    /**
+     * 
+     */
+    public void vastaaKalleRovanpera() {
+        //
+    }
+
+}
diff --git a/src/rekisteriJAVA/Henkilot.java b/src/rekisteriJAVA/Henkilot.java
new file mode 100644
index 0000000000000000000000000000000000000000..cba31ee1dd8b37833f45b556dce6ed7dda15f9e9
--- /dev/null
+++ b/src/rekisteriJAVA/Henkilot.java
@@ -0,0 +1,5 @@
+package rekisteriJAVA;
+
+public class Henkilot {
+
+}
diff --git a/src/rekisteriJAVA/Rekisteri.java b/src/rekisteriJAVA/Rekisteri.java
new file mode 100644
index 0000000000000000000000000000000000000000..aa9448e8ba2eeaefeebd1ec72fd729e4535950d0
--- /dev/null
+++ b/src/rekisteriJAVA/Rekisteri.java
@@ -0,0 +1,31 @@
+package rekisteriJAVA;
+
+public class Rekisteri {
+
+    Henkilot henkilot = new Henkilot();
+    
+    
+    /**¨Lisätään uusi jäsen
+     * 
+     * @param args
+     */
+    public void lisaa(Henkilo henkilo) {
+        henkilot.lisaa(henkilo);
+    }
+    
+    public int getHenkiloita() {
+        return henkilot.getLkm();
+    }
+    
+    //CRC-sisällöt tähän
+    
+    public static void main(String[] args) {
+        // TODO Auto-generated method stub
+
+           Rekisteri rekisteri = new Rekisteri();
+           
+           Henkilo henkilo1 = new Henkilo();
+           Henkilo henkilo2 = new Henkilo();
+            }
+
+}