diff --git a/src/main/java/fi/utu/tech/ooj/exercise2/Tehtava2ohjelmalogiikka.java b/src/main/java/fi/utu/tech/ooj/exercise2/Tehtava2ohjelmalogiikka.java
index fd10d37d4f3415ea2010d08bef5bef2cc3b73c55..752b9ebca8602765d19f8442f40e2c0ab767e3e6 100644
--- a/src/main/java/fi/utu/tech/ooj/exercise2/Tehtava2ohjelmalogiikka.java
+++ b/src/main/java/fi/utu/tech/ooj/exercise2/Tehtava2ohjelmalogiikka.java
@@ -21,3 +21,40 @@ public class Tehtava2ohjelmalogiikka {
          */
     }
 }
+
+/*
+ * Luokkarakenne voi olla esimerkiksi seuraavanlainen:
+
+    Paketti: linnustotutkimus
+
+    Tehtava2ohjelmalogiikka (abstrakti luokka)
+    Tehtava2Tallennuspalvelu (abstrakti luokka)
+    Tehtava2TiedostoTallennuspalvelu (konkreettinen toteutus Tehtava2Tallennuspalvelu-luokasta)
+    Tehtava2TietokantaTallennuspalvelu (konkreettinen toteutus Tehtava2Tallennuspalvelu-luokasta)
+    Tehtava2Tietokanta1 (konkreettinen toteutus Tehtava2Tallennuspalvelu-luokasta)
+    Tehtava2LinnustoTieto (abstrakti luokka)
+    Tehtava2LinnustoTietoCSV (konkreettinen toteutus Tehtava2LinnustoTieto-luokasta)
+    Tehtava2LinnustoTietoTietokanta (konkreettinen toteutus Tehtava2LinnustoTieto-luokasta)
+
+    Paketti: linnustotutkimus.tiedosto
+
+    Tehtava2TiedostoPalvelu (abstrakti luokka)
+    Tehtava2TiedostoPalveluCSV (konkreettinen toteutus Tehtava2TiedostoPalvelu-luokasta)
+
+    Paketti: linnustotutkimus.tietokanta
+
+    Tehtava2Tietokanta (abstrakti luokka)
+    Tehtava2Tietokanta1 (konkreettinen toteutus Tehtava2Tietokanta-luokasta)
+
+
+    Perustelut:
+    Tässä ratkaisussa abstrahoidaan tallennuspalvelu ja linnustotietojen tallennus omiin abstrakteihin luokkiinsa. 
+    Tämä mahdollistaa erilaisten tallennuspalveluiden helpon käytön ilman että ohjelmalogiikan toteutuksen täytyy riippua tietyn konkreettisen tallennuspalvelun toteutuksesta.
+    Lisäksi tiedostotallennuspalvelu on eriytetty omaksi pakkauksekseen, joka mahdollistaa sen käytön erillisessä moduulissa.
+    Samoin tietokantatallennuspalvelu on eriytetty omaksi pakkauksekseen, joka mahdollistaa erilaisten tietokantatallennuspalveluiden helpon käytön samalla logiikalla.
+    Polymorfismia hyödynnetään käyttämällä abstrakteja luokkia tallennuspalvelulle ja linnustotiedolle. 
+    Tämä mahdollistaa erilaisten toteutusten helpon käytön ja lisää joustavuutta ohjelman kehityksessä. 
+    Polymorfismia hyödynnetään käyttämällä abstrakteja luokkia tallennuspalvelulle ja linnustotiedolle. Tämä mahdollistaa erilaisten toteutusten helpon käytön ja lisää joustavuutta ohjelman kehityksessä. 
+    
+
+ */
\ No newline at end of file