diff --git a/.classpath b/.classpath
index 58a9ee2332b4b2a398cc8d2f134cef942ed850a3..59247f47227c286c12f6e5c9a0493fb5298da668 100644
--- a/.classpath
+++ b/.classpath
@@ -9,5 +9,6 @@
 	<classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/ohj2"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
+	<classpathentry kind="lib" path="C:/Users/omistaja/Ohjelmointi/Java-projektit/Jarreja/Tietorakenne.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/src/Kirjalista/GenreRelaatio.java b/src/Kirjalista/GenreRelaatio.java
new file mode 100644
index 0000000000000000000000000000000000000000..8cb4e5f7b31d80a356e8b0f99c23a01e38d967ef
--- /dev/null
+++ b/src/Kirjalista/GenreRelaatio.java
@@ -0,0 +1,69 @@
+package Kirjalista;
+
+import java.util.ArrayList;
+
+import tietorakenne.LinkattuLista;
+
+/**
+ * Genren ja kirjan välinen relaatio
+ * - pitää kirjaa liimatuista genreistä ja kirjoista
+ * - palauttaa kirjojen id:t genren id:n perusteella
+ * - palauttaa genrejen id:t kirjan id:n perusteella
+ * - lukee ja kirjoittaa tiedostoon
+ */
+public class GenreRelaatio {
+    private LinkattuLista<KirjanGenre> alkiot = new LinkattuLista<KirjanGenre>();
+    
+    /**
+     * Lisää listaan alkion
+     * @param alkio Alkio, joka lisätään listaan
+     */
+    public void lisaa(KirjanGenre alkio) {
+        alkiot.lisaa(alkio);
+    }
+    
+    
+    /**
+     * Palauttaa ArrayListin kirjojen id:istä, joilla on tietty genreid
+     * esim. palauttaa kaikkien kirjojen id:t, joiden genre on fantasia
+     * @param genreId Genren id, jonka perusteella haetaan kirjojen id:itä
+     * @return Kaikkien niiden kirjojen id:t, joiden genren id on genreId 
+     */
+    public ArrayList<Integer> haeKirjat(int genreId) {
+        ArrayList<Integer> kirjojenIdt = new ArrayList<Integer>();
+        for (int i = 0; i < alkiot.length(); i++) {
+            KirjanGenre alkio = alkiot.getByIndex(i);
+            if (alkio.getGenreId() == genreId) {
+                kirjojenIdt.add(alkio.getKirjaId());
+            }
+        }
+        return kirjojenIdt;
+    }
+    
+    
+    /**
+     * Palauttaa ArrayListin genrejen id:istä, joilla on tietty kirjaid
+     * eli toisin sanoen palauttaa tietyn kirjan kaikkien genrejen id:t
+     * @param kirjaId Kirjan id, jonka perusteella haetaan genrejen id:itä
+     * @return Kaikkien niiden genrejen id:t, joiden kirjan id on kirjaId 
+     */
+    public ArrayList<Integer> haeGenret(int kirjaId) {
+        ArrayList<Integer> genrejenIdt = new ArrayList<Integer>();
+        for (int i = 0; i < alkiot.length(); i++) {
+            KirjanGenre alkio = alkiot.getByIndex(i);
+            if (alkio.getKirjaId() == kirjaId) {
+                genrejenIdt.add(alkio.getGenreId());
+            }
+        }
+        return genrejenIdt;
+    }
+    
+    
+    /**
+     * Poistaa alkion annetussa indeksipaikassa
+     * @param indeksi Indeksipaikka, josta alkio poistetaan
+     */
+    public void poista(int indeksi) {
+        alkiot.poista(indeksi);
+    }
+}
diff --git a/src/fxKirjalista/KirjalistaGUIController.java b/src/fxKirjalista/KirjalistaGUIController.java
index b5070f8cdc6bf8e65d07ef64e0b14172e887f785..2f096cfa6339192e21f54a7a089f9ec57a208c93 100644
--- a/src/fxKirjalista/KirjalistaGUIController.java
+++ b/src/fxKirjalista/KirjalistaGUIController.java
@@ -61,6 +61,7 @@ public class KirjalistaGUIController implements Initializable {
 
     }
 
+    
     /**
      * Kirjan muokkaus
      */