diff --git a/tavaranpaikka/src/fxTavaranPaikka/TavaraLisaysGuiView.fxml b/tavaranpaikka/src/fxTavaranPaikka/TavaraLisaysGuiView.fxml
index f60cbeb7a3acc341e92343ce653ac94431aa9e5a..74d667d14e7a03e6477dbfec818f271fa52df628 100644
--- a/tavaranpaikka/src/fxTavaranPaikka/TavaraLisaysGuiView.fxml
+++ b/tavaranpaikka/src/fxTavaranPaikka/TavaraLisaysGuiView.fxml
@@ -10,8 +10,7 @@
 <?import javafx.scene.layout.HBox?>
 <?import javafx.scene.layout.RowConstraints?>
 
-
-<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="350.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1">
+<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="350.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fxTavaranPaikka.TavaranLisaysGUIController">
    <top>
       <Label text="Lisää/Muokkaa tavara" BorderPane.alignment="CENTER">
          <BorderPane.margin>
@@ -111,12 +110,12 @@
    <bottom>
       <HBox prefHeight="50.0" prefWidth="200.0" BorderPane.alignment="CENTER">
          <children>
-            <Button mnemonicParsing="false" text="Tallenna">
+            <Button mnemonicParsing="false" onAction="#onActionTallenna" text="Tallenna">
                <HBox.margin>
                   <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
                </HBox.margin>
             </Button>
-            <Button mnemonicParsing="false" text="Peruuta">
+            <Button fx:id="buttonPeruuta" mnemonicParsing="false" onAction="#onActionPeruuta" text="Peruuta">
                <HBox.margin>
                   <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
                </HBox.margin>
diff --git a/tavaranpaikka/src/fxTavaranPaikka/TavaranLisaysGUIController.java b/tavaranpaikka/src/fxTavaranPaikka/TavaranLisaysGUIController.java
new file mode 100644
index 0000000000000000000000000000000000000000..a36766c396a9d7c7201cd8aa575288cb010a7364
--- /dev/null
+++ b/tavaranpaikka/src/fxTavaranPaikka/TavaranLisaysGUIController.java
@@ -0,0 +1,58 @@
+package fxTavaranPaikka;
+
+import fi.jyu.mit.fxgui.Dialogs;
+import fi.jyu.mit.fxgui.ModalController;
+import fi.jyu.mit.fxgui.ModalControllerInterface;
+import javafx.fxml.FXML;
+import javafx.scene.control.Button;
+
+/**
+ * @author lpjsilve, alilakj
+ * @version 15.2.2024
+ * Kontrolleri uuden tavaran lisäämiselle(ja mahdollisesti muokkaamiseksi).
+ */
+public class TavaranLisaysGUIController implements ModalControllerInterface<String>{
+    @FXML private Button buttonPeruuta;
+
+    @FXML void onActionPeruuta() {
+        peruuta();
+    }
+
+    @FXML void onActionTallenna() {
+        tallenna();
+    }
+    
+    /*************koodi*************/
+    
+    @Override
+    public String getResult() {
+        return null;
+    }
+
+    @Override
+    public void handleShown() {
+        buttonPeruuta.requestFocus(); 
+        
+    }
+
+    @Override
+    public void setDefault(String arg0) {
+        
+    }
+    
+    
+    /**
+     * Suljetaan modaalinen ikkuna ja peruutetaan uuden tavaran luonti/lisäys.
+     */
+    public void peruuta() {
+        ModalController.closeStage(buttonPeruuta);
+    }
+    
+    
+    /**
+     * Tallennetaan luotu tavara.
+     */
+    public void tallenna() {
+        Dialogs.showMessageDialog("Tallennetetaan! Mutta ei toimi vielä");
+    }
+}
diff --git a/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIController.java b/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIController.java
index 96ccc94e205733007ee131cfcb8832ce63a102fb..698ebb06764f13c07a7f8050ab19eae3d14ca44f 100644
--- a/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIController.java
+++ b/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIController.java
@@ -1,7 +1,12 @@
 package fxTavaranPaikka;
 
 import fi.jyu.mit.fxgui.ModalController;
+//import fi.jyu.mit.fxgui.ModalControllerInterface;
 import javafx.fxml.FXML;
+import javafx.scene.layout.GridPane;
+
+import java.net.URL;
+
 import fi.jyu.mit.fxgui.Dialogs;
 
 
@@ -11,32 +16,76 @@ import fi.jyu.mit.fxgui.Dialogs;
  * Ohjelman pääkontrolleri.
  */
 public class TavaranPaikkaGUIController {
+    @FXML private GridPane GridPaneTavaranTiedot;
+    
     @FXML void onActionTallenna() {
         tallenna();
     }
+    
+    //Sekä menu -toiminto, että Lisää tavara -painike
+    @FXML void onActionLisaaTavara() {
+        avaaUusiTavara();
+    }
 
+    @FXML void onActionMuokkaaTavaraa() {
+        avaaMuokkaaIkkuna();
+    }
+    
     @FXML void onActionNaytaSisalto() {
-        naytaSisalto();
+        avaaSisalto();
     }
+    
+    
 
-    /**************koodia****************/
+    /**************Toteutukset****************/
     
     
     /**
-     * Avataan sisältöikkuna, joka on modaalinen (eli pitää toimia, ennen kuin voi jatkaa muuta).
-     * Ei vielä toimi.
+     * Tietojen tallennus, ei vielä toimiva.
      */
-    public void naytaSisalto() {
-        //ModalController.showModal(TavaranPaikkaGUIController.class.getResource(TavaranSisaltoView.fxml), null, null, null);
+    public static void tallenna() {
+        Dialogs.showMessageDialog("Tallennetetaan! Mutta ei toimi vielä");
     }
     
     
     /**
-     * Tietojen tallennus, ei vielä toimiva
+     * Toteutetaan Lisää tavara-painikkeen toiminta 
+     * (ja uuden tavaran ikkunan avaaminen muillekin),
+     * eli avataan modaalisena ikkunanan suunniteltu 
+     * tyhjä ikkuna tavaran tietojen täyttämiseksi.
      */
-    public void tallenna() {
-        Dialogs.showMessageDialog("Tallennetetaan! Mutta ei toimi vielä");
+    public static void avaaUusiTavara() {
+        URL url = TavaranLisaysGUIController.class.getResource("TavaraLisaysGuiView.fxml");
+        ModalController.showModal(url, null, null, null);
     }
     
+    
+    /**
+     * Toteutetaan Muokkaa Tavaraa -menuvalinnan toiminta,
+     * eli avataan modaalinen ikkuna, jossa valitun tavaran tiedot
+     * täytettynä.
+     */
+    public void avaaMuokkaaIkkuna() {
+        // Täydennä toimimaan: tietojen haku GridPane -komponentista ja aseta ne lähtötiedoiksi, 
+        //String alkupTiedot = GridPaneTavaranTiedot.getAccessibleText();
+        //System.out.println(alkupTiedot);
+        
+        URL url = TavaranLisaysGUIController.class.getResource("TavaraLisaysGuiView.fxml");
+        ModalController.showModal(url, null, null, null);
+    }
+    
+    
+    /**
+     * Toteutetaan Näytä Sisältö-painikkeen toiminta,
+     * eli avataan modaalisena ikkunana suunniteltu sisältöikkuna.
+     */
+    private void avaaSisalto() {
+        URL url = TavaranSisaltoGUIController.class.getResource("TavaranSisaltoGUIView.fxml");
+        ModalController.showModal(url, null, null, null);
+        
+    }    
+    
+    
+
 }
 
diff --git a/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIView.fxml b/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIView.fxml
index 5f954623e88ed26640a3df952e50ddeb8c42e1d2..bc682c7b8add1317485e15193a4d18476c001a75 100644
--- a/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIView.fxml
+++ b/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIView.fxml
@@ -31,6 +31,8 @@
           </Menu>
           <Menu mnemonicParsing="false" text="Muokkaa">
             <items>
+                  <MenuItem mnemonicParsing="false" onAction="#onActionLisaaTavara" text="Lisää uusi tavara" />
+                  <MenuItem mnemonicParsing="false" onAction="#onActionMuokkaaTavaraa" text="Muokkaa tavaraa" />
               <MenuItem mnemonicParsing="false" text="Delete" />
             </items>
           </Menu>
@@ -75,7 +77,7 @@
                <center>
                   <ScrollPane prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER">
                      <content>
-                        <GridPane>
+                        <GridPane fx:id="GridPaneTavaranTiedot">
                           <columnConstraints>
                             <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
                             <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="160.0" />
@@ -161,7 +163,7 @@
          <left>
             <HBox prefHeight="100.0" prefWidth="200.0" BorderPane.alignment="CENTER">
                <children>
-                  <Button mnemonicParsing="false" text="Lisää tavara">
+                  <Button mnemonicParsing="false" onAction="#onActionLisaaTavara" text="Lisää tavara">
                      <HBox.margin>
                         <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
                      </HBox.margin>
diff --git a/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaMain.java b/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaMain.java
index c1de7ff85d1fcb27d57b6b3d24e9a2cdadc6653e..68c6527e7ab47cd2cd58632c523620a707b44d1a 100644
--- a/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaMain.java
+++ b/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaMain.java
@@ -16,7 +16,7 @@ public class TavaranPaikkaMain extends Application {
     public void start(Stage primaryStage) {
         try {
             FXMLLoader ldr = new FXMLLoader(getClass().getResource("TavaranPaikkaGUIView.fxml"));
-            final Pane root = (Pane)ldr.load();
+            final Pane root = ldr.load();
             //final TavaranPaikkaGUIController tavaranpaikkaCtrl = (TavaranPaikkaGUIController) ldr.getController();
             Scene scene = new Scene(root);
             scene.getStylesheets().add(getClass().getResource("tavaranpaikka.css").toExternalForm());
diff --git a/tavaranpaikka/src/fxTavaranPaikka/TavaranSisaltoGUIController.java b/tavaranpaikka/src/fxTavaranPaikka/TavaranSisaltoGUIController.java
new file mode 100644
index 0000000000000000000000000000000000000000..fe7b2ddd651e85d57adb20e54a0df9e92ca66a68
--- /dev/null
+++ b/tavaranpaikka/src/fxTavaranPaikka/TavaranSisaltoGUIController.java
@@ -0,0 +1,65 @@
+package fxTavaranPaikka;
+
+import fi.jyu.mit.fxgui.ModalController;
+//import fi.jyu.mit.fxgui.Dialogs;
+//import fi.jyu.mit.fxgui.ModalController;
+import fi.jyu.mit.fxgui.ModalControllerInterface;
+import javafx.fxml.FXML;
+import javafx.scene.control.Button;
+import javafx.scene.control.TextArea;
+//import javafx.stage.Stage;
+
+/**
+ * @author lpjsilve, alilakj
+ * @version 15.2.2024
+ * Kontrolleri tavaran sisällön käsittelemiseen.
+ */
+public class TavaranSisaltoGUIController implements ModalControllerInterface<String> {
+    @FXML private TextArea textKentta;
+    @FXML private Button buttonSulje;
+    @FXML private Button buttonLisaaTavara;
+    
+    @FXML void onActionSulje() {
+        sulje();
+    }
+    
+    @FXML void onActionLisaaTavara() {
+        uusiTavara();
+    }
+    
+    /************koodi************/
+    @Override
+    public String getResult() {
+        return null;
+    }
+
+    @Override
+    public void handleShown() {
+        buttonSulje.requestFocus();  
+    }
+
+    @Override
+    public void setDefault(String oletus) {
+        //if(textKentta.getId().equals(oletus)) {
+            
+        //}
+    }
+    
+    
+    /**
+     * Avataan uuden tavaran lisäysikkuna, käyttäen avaaUusiTavara -metodia pääkontrollerista.
+     * Huom, tässä tapauksessa tulee lisätä metodiin parametrin vastaanottamisen mahdollisuus, 
+     * sillä tätä kautta tavaran luomisessa lisätään valmiiksi tiedoksi lokaatiotieto.
+     */
+    public void uusiTavara() {
+        TavaranPaikkaGUIController.avaaUusiTavara();
+    }
+    
+    
+    /**
+     * Suljetaan modaalinen ikkuna.
+     */
+    public void sulje() {
+        ModalController.closeStage(buttonSulje);
+    }
+}
diff --git a/tavaranpaikka/src/fxTavaranPaikka/TavaranSisaltoGUIView.fxml b/tavaranpaikka/src/fxTavaranPaikka/TavaranSisaltoGUIView.fxml
index 9ae135812db666b79bf39c3d5f1e235e13c68a2d..97c830d69377e18e37040e76c877dc2ff3bb18a5 100644
--- a/tavaranpaikka/src/fxTavaranPaikka/TavaranSisaltoGUIView.fxml
+++ b/tavaranpaikka/src/fxTavaranPaikka/TavaranSisaltoGUIView.fxml
@@ -7,7 +7,7 @@
 <?import javafx.scene.layout.BorderPane?>
 <?import javafx.scene.layout.HBox?>
 
-<BorderPane fx:id="sisaltoIkkuna" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="300.0" prefWidth="300.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1">
+<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="300.0" prefWidth="300.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fxTavaranPaikka.TavaranSisaltoGUIController">
    <top>
       <Label text="Sisältö" BorderPane.alignment="CENTER" />
    </top>
@@ -17,12 +17,12 @@
    <bottom>
       <HBox prefHeight="50.0" prefWidth="200.0" BorderPane.alignment="CENTER">
          <children>
-            <Button mnemonicParsing="false" text="Lisää tavara">
+            <Button fx:id="buttonLisaaTavara" mnemonicParsing="false" onAction="#onActionLisaaTavara" text="Lisää tavara">
                <HBox.margin>
                   <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
                </HBox.margin>
             </Button>
-            <Button mnemonicParsing="false" text="Sulje">
+            <Button fx:id="buttonSulje" mnemonicParsing="false" onAction="#onActionSulje" text="Sulje">
                <HBox.margin>
                   <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
                </HBox.margin>