diff --git a/Muistivihko.java b/Muistivihko.java
new file mode 100644
index 0000000000000000000000000000000000000000..c07dbc7c256df63940b9d74800dae32c30c9274d
--- /dev/null
+++ b/Muistivihko.java
@@ -0,0 +1,75 @@
+import java.util.ArrayList;
+
+public class Muistivihko {
+    private String nimi;
+    private String omistaja;
+    private ArrayList<String> muistiinpanot;
+
+    /**
+     * luo uuden tyhjän muistivihkon, jolla nimi ja omistaja
+     * @param nimi muistivihkon nimi
+     * @param omistaja omistajan nimi
+     */
+    public Muistivihko(String nimi, String omistaja) {
+        this.nimi = nimi;
+        this.omistaja = omistaja;
+        muistiinpanot = new ArrayList<>();
+    }
+
+    /**
+     *
+     * @return palauttaa muistivihkon nimen
+     */
+    public String getNimi() {
+        return nimi;
+    }
+
+    /**
+     *
+     * @param nimi asettaa muistivihkolle nimen
+     */
+    public void setNimi(String nimi) {
+        this.nimi = nimi;
+    }
+
+    /**
+     *
+     * @return palauttaa muistivihkon omistajan nimen
+     */
+    public String getOmistaja() {
+        return omistaja;
+    }
+
+    /**
+     *
+     * @param omistaja asettaa muistivihkolle omistajan
+     */
+    public void setOmistaja(String omistaja) {
+        this.omistaja = omistaja;
+    }
+
+    /**
+     *
+     * @param viesti lisää muistivihkoon muistiinpanon
+     */
+    public void lisaaMuistiinpano(String viesti) {
+        this.muistiinpanot.add(viesti);
+    }
+
+    /**
+     *
+     * @return palauttaa muistivihkossa olevien muistiinpanojen lukumäärän
+     */
+    public int muistiinpanoja() {
+        return muistiinpanot.size();
+    }
+
+    /**
+     * tulostaa muistivihkon kaikki muistiinpanot
+     */
+    public void tulostaMuistiinpanot() {
+        for(String viesti : muistiinpanot) {
+            System.out.println(viesti);
+        }
+    }
+}