diff --git a/.classpath b/.classpath
index e6255cda017eb7c8ac43643c32a7a971648818cb..8c39f29e9959a5779e6a1afb652cf9c24e3b6990 100644
--- a/.classpath
+++ b/.classpath
@@ -7,5 +7,6 @@
 		</attributes>
 	</classpathentry>
 	<classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/ohj2"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/src/fxKirjalista/KirjalistaGUIController.java b/src/fxKirjalista/KirjalistaGUIController.java
index b9760d866ad209c6253777665ba93ec7ef3b13dd..a8eeee2b1b03158b13374bd1b86e2c45d7110f1f 100644
--- a/src/fxKirjalista/KirjalistaGUIController.java
+++ b/src/fxKirjalista/KirjalistaGUIController.java
@@ -1,10 +1,88 @@
 package fxKirjalista;
 
+import java.util.Optional;
+
+import fi.jyu.mit.fxgui.Dialogs;
+import fi.jyu.mit.fxgui.ModalController;
+import javafx.fxml.FXML;
+import javafx.scene.control.Alert;
+import javafx.scene.control.Alert.AlertType;
+import javafx.scene.control.ButtonBar.ButtonData;
+import javafx.scene.control.ButtonType;
+
 /**
- * @author omistaja
- * @version 23.1.2025
- *
+ * Ohjelman pääikkunan käsittelijä
  */
 public class KirjalistaGUIController {
-      // TODO
-}
\ No newline at end of file
+
+    /**
+     * Kirjan lisäys
+     */
+    @FXML void handleLisaaKirja() {
+        ModalController.showModal(KirjalistaGUIController.class.getResource("LisaaView.fxml"), "Kirja", null, "");
+    }
+
+    /**
+     * Kirjan muokkaus
+     */
+    @FXML void handleMuokkaaKirja() {
+        ModalController.showModal(KirjalistaGUIController.class.getResource("MuokkaaView.fxml"), "Kirja", null, "");
+    }
+
+    /**
+     * Tiedosto-valikon tallenna-valinta
+     */
+    @FXML void handleTallenna() {
+        // TODO:
+        Dialogs.showMessageDialog("Vielä ei osata tallentaa");
+
+    }
+
+    /**
+     * Apua-valikon tietoja-valinta
+     */
+    @FXML void handleTietoja() {
+        // TODO:
+        Dialogs.showMessageDialog("Vielä ei osata antaa tietoja");
+
+    }
+
+    /**
+     * Tiedosto-valikon tulosta-valinta
+     */
+    @FXML void handleTulosta() {
+        // TODO:
+        Dialogs.showMessageDialog("Vielä ei osata tulostaa");
+    }
+    
+    /**
+     * Muokkaa-valikon poista-valinta
+     */
+    @FXML void poistaKirja() {
+         poistoVahvistus();
+    }
+    
+    @FXML void handleHaku() {
+        Dialogs.showMessageDialog("Vielä ei osata hakea");
+    }
+
+    
+    
+    /**
+     * Luo näytölle dialogin, joka kysyy vahvistusta kirjan poistamiseksi
+     */
+    public static void poistoVahvistus() {
+        Alert alert = new Alert(AlertType.CONFIRMATION);
+        alert.setTitle("Poista");
+        alert.setHeaderText(null);
+        alert.setContentText("Haluatko varmasti poistaa kirjan?");
+
+        ButtonType buttonTypeYes = new ButtonType("Kyllä", ButtonData.OK_DONE);
+        ButtonType buttonTypeCancel = new ButtonType("Ei", ButtonData.CANCEL_CLOSE);
+
+        alert.getButtonTypes().setAll(buttonTypeYes, buttonTypeCancel);
+
+        Optional<ButtonType> result = alert.showAndWait();
+        if ( result.get() == buttonTypeYes ) Dialogs.showMessageDialog("Vielä ei osata poistaa");
+    }
+}
diff --git a/src/fxKirjalista/KirjalistaGUIView.fxml b/src/fxKirjalista/KirjalistaGUIView.fxml
index 4f6cab45b6c2b4b7b2fa897d32b59f46f5866e4d..7d695b9c9a2f7c84f18be0aee1fb2803f89fb5d4 100644
--- a/src/fxKirjalista/KirjalistaGUIView.fxml
+++ b/src/fxKirjalista/KirjalistaGUIView.fxml
@@ -106,7 +106,7 @@
          <children>
             <HBox prefHeight="38.0" prefWidth="250.0">
                <children>
-                  <TextField opacity="0.58" promptText="Haku🔍" />
+                  <TextField onAction="#handleHaku" opacity="0.58" promptText="Haku🔍" />
                   <SplitMenuButton mnemonicParsing="false" text="Hakuehto">
                     <items>
                       <MenuItem mnemonicParsing="false" text="Nimi" />
@@ -158,20 +158,19 @@
         <menus>
           <Menu mnemonicParsing="false" text="Tiedosto">
             <items>
-              <MenuItem mnemonicParsing="false" text="Tallenna" />
-                  <MenuItem mnemonicParsing="false" text="Avaa" />
-                  <MenuItem mnemonicParsing="false" text="Tulosta" />
+              <MenuItem mnemonicParsing="false" onAction="#handleTallenna" text="Tallenna" />
+                  <MenuItem mnemonicParsing="false" onAction="#handleTulosta" text="Tulosta" />
             </items>
           </Menu>
           <Menu mnemonicParsing="false" text="Muokkaa">
             <items>
-              <MenuItem mnemonicParsing="false" text="Muokkaa" />
-                  <MenuItem mnemonicParsing="false" text="Poista" />
+              <MenuItem mnemonicParsing="false" onAction="#handleMuokkaaKirja" text="Muokkaa" />
+                  <MenuItem mnemonicParsing="false" onAction="#poistaKirja" text="Poista" />
             </items>
           </Menu>
           <Menu mnemonicParsing="false" text="Apua">
             <items>
-              <MenuItem mnemonicParsing="false" text="Tietoja" />
+              <MenuItem mnemonicParsing="false" onAction="#handleTietoja" text="Tietoja" />
             </items>
           </Menu>
         </menus>
@@ -183,12 +182,12 @@
    <bottom>
       <HBox BorderPane.alignment="CENTER">
          <children>
-            <Button mnemonicParsing="false" text="Lisää kirja">
+            <Button mnemonicParsing="false" onAction="#handleLisaaKirja" text="Lisää kirja">
                <HBox.margin>
                   <Insets bottom="5.0" left="7.0" right="5.0" top="5.0" />
                </HBox.margin>
             </Button>
-            <Button mnemonicParsing="false" text="Muokkaa">
+            <Button mnemonicParsing="false" onAction="#handleMuokkaaKirja" text="Muokkaa">
                <HBox.margin>
                   <Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
                </HBox.margin>
diff --git a/src/fxKirjalista/KirjalistaMain.java b/src/fxKirjalista/KirjalistaMain.java
index 188c052b6118c62f7eb9d38569436620ed84b786..0fd5821cdc0069d14a89a12af49834416d3fe004 100644
--- a/src/fxKirjalista/KirjalistaMain.java
+++ b/src/fxKirjalista/KirjalistaMain.java
@@ -16,14 +16,18 @@ public class KirjalistaMain extends Application {
     @Override
     public void start(Stage primaryStage) {
         try {
-            FXMLLoader ldr = new FXMLLoader(getClass().getResource("KirjalistaGUIView.fxml"));
-            final Pane root = ldr.load();
-            //final KirjalistaGUIController kirjalistaCtrl = (KirjalistaGUIController) ldr.getController();
-            Scene scene = new Scene(root);
+            
+            final FXMLLoader ldr = new FXMLLoader(getClass().getResource("KirjalistaGUIView.fxml"));
+            final Pane root = (Pane)ldr.load();
+            
+            // final KirjalistaGUIController kirjalistaCtrl = (KirjalistaGUIController) ldr.getController();
+            final Scene scene = new Scene(root);
             scene.getStylesheets().add(getClass().getResource("kirjalista.css").toExternalForm());
             primaryStage.setScene(scene);
             primaryStage.setTitle("Kirjalista");
+            
             primaryStage.show();
+
         } catch(Exception e) {
             e.printStackTrace();
         }
diff --git a/src/fxKirjalista/LisaaController.java b/src/fxKirjalista/LisaaController.java
new file mode 100644
index 0000000000000000000000000000000000000000..2488f74b3df64b22464adf5735a2eeb97d8c7623
--- /dev/null
+++ b/src/fxKirjalista/LisaaController.java
@@ -0,0 +1,56 @@
+package fxKirjalista;
+
+import fi.jyu.mit.fxgui.ComboBoxChooser;
+import javafx.fxml.FXML;
+import javafx.scene.control.TextField;
+import fi.jyu.mit.fxgui.Dialogs;
+import fi.jyu.mit.fxgui.ModalController;
+import fi.jyu.mit.fxgui.ModalControllerInterface;
+
+/**
+ * 
+ */
+public class LisaaController implements ModalControllerInterface<String> {
+
+    @FXML private ComboBoxChooser<?> comboboxGenre;
+
+    @FXML private TextField textKirjailija;
+
+    @FXML private TextField textNimi;
+
+    @FXML private TextField textSarja;
+
+    @FXML private TextField textSivu;
+
+    @FXML private TextField textVuosi;
+    
+    @FXML void handleJasenLisatty() {
+        // TODO:
+    }
+    
+    @FXML void handleOK() {
+        Dialogs.showMessageDialog("Vielä ei osata lisätä");
+        ModalController.closeStage(textNimi);
+
+    }
+
+    @Override
+    public String getResult() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public void handleShown() {
+        // TODO Auto-generated method stub
+        
+    }
+
+    @Override
+    public void setDefault(String arg0) {
+        // TODO Auto-generated method stub
+        
+    }
+    
+    
+}
diff --git a/src/fxKirjalista/LisaaView.fxml b/src/fxKirjalista/LisaaView.fxml
index d7176440d425ee9cd92b5c1623b94aa56b758bb0..320e209ee63a0c864c25a830bea3b4927091f7cf 100644
--- a/src/fxKirjalista/LisaaView.fxml
+++ b/src/fxKirjalista/LisaaView.fxml
@@ -11,7 +11,7 @@
 <?import javafx.scene.layout.RowConstraints?>
 <?import javafx.scene.layout.VBox?>
 
-<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="343.0" prefWidth="255.0" xmlns="http://javafx.com/javafx/23.0.1" xmlns:fx="http://javafx.com/fxml/1">
+<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="343.0" prefWidth="255.0" xmlns="http://javafx.com/javafx/23.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fxKirjalista.LisaaController">
    <children>
       <Label text="Lisää" />
       <GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="272.0" prefWidth="241.0">
@@ -53,22 +53,22 @@
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
             </Label>
-            <TextField GridPane.columnIndex="1">
+            <TextField fx:id="textNimi" GridPane.columnIndex="1">
                <GridPane.margin>
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
             </TextField>
-            <TextField GridPane.columnIndex="1" GridPane.rowIndex="1">
+            <TextField fx:id="textKirjailija" GridPane.columnIndex="1" GridPane.rowIndex="1">
                <GridPane.margin>
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
             </TextField>
-            <TextField GridPane.columnIndex="1" GridPane.rowIndex="2">
+            <TextField fx:id="textSarja" GridPane.columnIndex="1" GridPane.rowIndex="2">
                <GridPane.margin>
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
             </TextField>
-            <TextField GridPane.columnIndex="1" GridPane.rowIndex="4">
+            <TextField fx:id="textVuosi" GridPane.columnIndex="1" GridPane.rowIndex="4">
                <GridPane.margin>
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
@@ -78,12 +78,12 @@
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
             </Label>
-            <TextField GridPane.columnIndex="1" GridPane.rowIndex="5">
+            <TextField fx:id="textSivu" GridPane.columnIndex="1" GridPane.rowIndex="5">
                <GridPane.margin>
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
             </TextField>
-            <ComboBoxChooser prefHeight="25.0" prefWidth="106.0" rivit="Valitse&#10;Sci-fi&#10;Fantasia&#10;Komedia&#10;Tietokirja" GridPane.columnIndex="1" GridPane.rowIndex="3">
+            <ComboBoxChooser fx:id="comboboxGenre" prefHeight="25.0" prefWidth="106.0" rivit="Valitse&#10;Sci-fi&#10;Fantasia&#10;Komedia&#10;Tietokirja" GridPane.columnIndex="1" GridPane.rowIndex="3">
                <GridPane.margin>
                   <Insets bottom="7.0" left="7.0" right="7.0" />
                </GridPane.margin>
@@ -92,7 +92,7 @@
       </GridPane>
       <HBox alignment="CENTER_RIGHT" prefHeight="100.0" prefWidth="200.0">
          <children>
-            <Button contentDisplay="CENTER" mnemonicParsing="false" text="OK">
+            <Button contentDisplay="CENTER" mnemonicParsing="false" onAction="#handleOK" text="OK">
                <padding>
                   <Insets bottom="5.0" left="20.0" right="20.0" top="5.0" />
                </padding>
diff --git a/src/fxKirjalista/MuokkaaController.java b/src/fxKirjalista/MuokkaaController.java
new file mode 100644
index 0000000000000000000000000000000000000000..80a652f4cb224dc3718d9b47631c610b9cd505ec
--- /dev/null
+++ b/src/fxKirjalista/MuokkaaController.java
@@ -0,0 +1,62 @@
+package fxKirjalista;
+
+import fi.jyu.mit.fxgui.ComboBoxChooser;
+import javafx.fxml.FXML;
+import javafx.scene.control.TextField;
+import fi.jyu.mit.fxgui.Dialogs;
+import fi.jyu.mit.fxgui.ModalController;
+import fi.jyu.mit.fxgui.ModalControllerInterface;
+
+/**
+ * 
+ */
+public class MuokkaaController implements ModalControllerInterface<String> {
+
+    @FXML private ComboBoxChooser<?> comboboxGenre;
+
+    @FXML private TextField textKirjailija;
+
+    @FXML private TextField textNimi;
+
+    @FXML private TextField textSarja;
+
+    @FXML private TextField textSivu;
+
+    @FXML private TextField textVuosi;
+    
+    @FXML void handleJasenLisatty() {
+        // TODO:
+    }
+    
+    @FXML void handleOK() {
+        Dialogs.showMessageDialog("Vielä ei osata muokata");
+        ModalController.closeStage(textNimi);
+
+    }
+    
+    @FXML void handlePoista() {
+        KirjalistaGUIController.poistoVahvistus();
+        ModalController.closeStage(textNimi);
+
+    }
+
+    @Override
+    public String getResult() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public void handleShown() {
+        // TODO Auto-generated method stub
+        
+    }
+
+    @Override
+    public void setDefault(String arg0) {
+        // TODO Auto-generated method stub
+        
+    }
+    
+    
+}
diff --git a/src/fxKirjalista/MuokkaaView.fxml b/src/fxKirjalista/MuokkaaView.fxml
index 3eabb47659e84553c0ca4e5006ec408352183dd3..d468860ccdc13953947f37e8b41f3dee1aeb8000 100644
--- a/src/fxKirjalista/MuokkaaView.fxml
+++ b/src/fxKirjalista/MuokkaaView.fxml
@@ -11,7 +11,7 @@
 <?import javafx.scene.layout.RowConstraints?>
 <?import javafx.scene.layout.VBox?>
 
-<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="343.0" prefWidth="255.0" xmlns="http://javafx.com/javafx/23.0.1" xmlns:fx="http://javafx.com/fxml/1">
+<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="343.0" prefWidth="255.0" xmlns="http://javafx.com/javafx/23.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fxKirjalista.MuokkaaController">
    <children>
       <Label text="Muokkaa" />
       <GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="272.0" prefWidth="241.0">
@@ -53,22 +53,22 @@
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
             </Label>
-            <TextField GridPane.columnIndex="1">
+            <TextField fx:id="textNimi" GridPane.columnIndex="1">
                <GridPane.margin>
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
             </TextField>
-            <TextField GridPane.columnIndex="1" GridPane.rowIndex="1">
+            <TextField fx:id="textKirjailija" GridPane.columnIndex="1" GridPane.rowIndex="1">
                <GridPane.margin>
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
             </TextField>
-            <TextField GridPane.columnIndex="1" GridPane.rowIndex="2">
+            <TextField fx:id="textSarja" GridPane.columnIndex="1" GridPane.rowIndex="2">
                <GridPane.margin>
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
             </TextField>
-            <TextField GridPane.columnIndex="1" GridPane.rowIndex="4">
+            <TextField fx:id="textVuosi" GridPane.columnIndex="1" GridPane.rowIndex="4">
                <GridPane.margin>
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
@@ -78,12 +78,12 @@
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
             </Label>
-            <TextField GridPane.columnIndex="1" GridPane.rowIndex="5">
+            <TextField fx:id="textSivu" GridPane.columnIndex="1" GridPane.rowIndex="5">
                <GridPane.margin>
                   <Insets left="7.0" right="7.0" />
                </GridPane.margin>
             </TextField>
-            <ComboBoxChooser prefHeight="25.0" prefWidth="106.0" rivit="Valitse&#10;Sci-fi&#10;Fantasia&#10;Komedia&#10;Tietokirja" GridPane.columnIndex="1" GridPane.rowIndex="3">
+            <ComboBoxChooser fx:id="comboboxGenre" prefHeight="25.0" prefWidth="106.0" rivit="Valitse&#10;Sci-fi&#10;Fantasia&#10;Komedia&#10;Tietokirja" GridPane.columnIndex="1" GridPane.rowIndex="3">
                <GridPane.margin>
                   <Insets bottom="7.0" left="7.0" right="7.0" />
                </GridPane.margin>
@@ -92,7 +92,7 @@
       </GridPane>
       <HBox alignment="CENTER_RIGHT" prefHeight="100.0" prefWidth="200.0">
          <children>
-            <Button contentDisplay="CENTER" mnemonicParsing="false" text="Poista">
+            <Button contentDisplay="CENTER" mnemonicParsing="false" onAction="#handlePoista" text="Poista">
                <padding>
                   <Insets bottom="5.0" left="20.0" right="20.0" top="5.0" />
                </padding>
@@ -100,7 +100,7 @@
                   <Insets bottom="7.0" left="7.0" right="7.0" top="7.0" />
                </HBox.margin>
             </Button>
-            <Button contentDisplay="CENTER" mnemonicParsing="false" text="OK">
+            <Button contentDisplay="CENTER" mnemonicParsing="false" onAction="#handleOK" text="OK">
                <padding>
                   <Insets bottom="5.0" left="20.0" right="20.0" top="5.0" />
                </padding>