diff --git a/oop_demo1b.py b/oop_demo1b.py
new file mode 100644
index 0000000000000000000000000000000000000000..f4b243e18d7cf650cd628fc6adbbc9b5eebefd3e
--- /dev/null
+++ b/oop_demo1b.py
@@ -0,0 +1,97 @@
+public class Esiintyja {
+    private String nimi;
+    private String erityisala;
+    private double palkkio;
+
+    public Esiintyja(String nimi, String erityisala, double palkkio) {
+        this.nimi = nimi;
+        this.erityisala = erityisala;
+        this.palkkio = palkkio;
+    }
+
+    public String getNimi() {
+        return nimi;
+    }
+
+    public String getErityisala() {
+        return erityisala;
+    }
+
+    public double getPalkkio() {
+        return palkkio;
+    }
+
+    public void setNimi(String nimi) {
+        this.nimi = nimi;
+    }
+
+    public void setErityisala(String erityisala) {
+        this.erityisala = erityisala;
+    }
+
+    public void setPalkkio(double palkkio) {
+        this.palkkio = palkkio;
+    }
+
+    // Mahdollisia muita metodeja:
+    // - Metodi esiintyjän palkkion laskemiseen tai muuttamiseen
+    // - Metodi esiintyjän tietojen tulostamiseen
+}
+
+public class Asiakas {
+    private String tunniste;
+    private String nimi;
+
+    public Asiakas(String tunniste, String nimi) {
+        this.tunniste = tunniste;
+        this.nimi = nimi;
+    }
+
+    public String getTunniste() {
+        return tunniste;
+    }
+
+    public String getNimi() {
+        return nimi;
+    }
+
+    public void setTunniste(String tunniste) {
+        this.tunniste = tunniste;
+    }
+
+    public void setNimi(String nimi) {
+        this.nimi = nimi;
+    }
+
+    // Mahdollisia muita metodeja:
+    // - Metodi asiakkaan tietojen tulostamiseen
+}
+
+public class Tilaisuus {
+    private String tyyppi;
+    private Esiintyja esiintyja;
+
+    public Tilaisuus(String tyyppi, Esiintyja esiintyja) {
+        this.tyyppi = tyyppi;
+        this.esiintyja = esiintyja;
+    }
+
+    public String getTyyppi() {
+        return tyyppi;
+    }
+
+    public Esiintyja getEsiintyja() {
+        return esiintyja;
+    }
+
+    public void setTyyppi(String tyyppi) {
+        this.tyyppi = tyyppi;
+    }
+
+    public void setEsiintyja(Esiintyja esiintyja) {
+        this.esiintyja = esiintyja;
+    }
+
+    // Mahdollisia muita metodeja:
+    // - Metodi tilaisuuden tietojen tulostamiseen
+}
\ No newline at end of file