diff --git a/README.md b/README.md
index 3eb11e4c281b3b8301fa07218b73418cce00a6bb..2ba1359d3906ba618c13ae1a77a376734db5345f 100644
--- a/README.md
+++ b/README.md
@@ -3,8 +3,7 @@ Jitsi Meet Electron
 Electron application for [Jitsi Meet](https://github.com/jitsi/jitsi-meet).
 
 ## Configuration
-You can change the Jitsi Meet deployment url with the jitsiMeetURL property
-from config.js
+You can change the Jitsi Meet deployment domain with the jitsiMeetDomain property from config.js
 
 ## Building the sources
 ```bash
diff --git a/config.js b/config.js
index f48850bb6c0f8882ff72e48ff8d933024708a05d..84df4b0c1ead94b351bc10bff0079c639837aedc 100644
--- a/config.js
+++ b/config.js
@@ -1,6 +1,6 @@
 module.exports = {
     /**
-     * The URL of the Jitsi Meet deployment that will be used.
+     * The domain of the Jitsi Meet deployment that will be used.
      */
-    jitsiMeetURL: "https://meet.jit.si/"
+    jitsiMeetDomain: "meet.jit.si"
 };
diff --git a/windows/jitsi-meet/index.html b/windows/jitsi-meet/index.html
index 5572fe09837ba5c016d2152ff76b860c9791cc53..65c6915977d9f101e7c4eb93bfb292e401000587 100644
--- a/windows/jitsi-meet/index.html
+++ b/windows/jitsi-meet/index.html
@@ -10,11 +10,6 @@
             body {
                 -webkit-app-region: drag
             }
-            iframe {
-                width: 100%;
-                height: 100%;
-                border: 0 none;
-            }
         </style>
     </head>
     <body>
diff --git a/windows/jitsi-meet/render.js b/windows/jitsi-meet/render.js
index 0a5284cf3a3523bc717faefa7d2a95fc54b49816..4ce648ffc62741e44430f7a12e07aa6c41c2a548 100644
--- a/windows/jitsi-meet/render.js
+++ b/windows/jitsi-meet/render.js
@@ -1,40 +1,35 @@
-/* global process */
-const utils = require("jitsi-meet-electron-utils");
+/* global process, JitsiMeetExternalAPI */
 const {
     RemoteControl,
     setupScreenSharingForWindow
-} = utils;
-const config = require("../../config.js");
+} = require("jitsi-meet-electron-utils");
+const { jitsiMeetDomain } = require("../../config.js");
 
 /**
- * The remote control instance.
+ * Loads a script from a specific source.
+ *
+ * @param src the source from the which the script is to be (down)loaded
+ * @param loadCallback on load callback function
+ * @param errorCallback callback to be called on error loading the script
  */
-let remoteControl;
+function loadScript(
+        src,
+        loadCallback = () => {},
+        errorCallback = console.error) {
+    const script = document.createElement('script');
 
-/**
- * Cteates the iframe that will load Jitsi Meet.
- */
-let iframe = document.createElement('iframe');
-iframe.src = process.env.JITSI_MEET_URL || config.jitsiMeetURL;
-iframe.allowFullscreen = true;
-iframe.onload = onload;
-document.body.appendChild(iframe);
+    script.async = true;
 
-/**
- * Handles loaded event for iframe:
- * Enables screen sharing functionality to the iframe webpage.
- * Initializes postis.
- * Initializes remote control.
- */
-function onload() {
-    setupScreenSharingForWindow(iframe.contentWindow);
-    iframe.contentWindow.onunload = onunload;
-    remoteControl = new RemoteControl(iframe);
+    script.onload = loadCallback;
+    script.onerror = errorCallback;
+    script.src = src;
+    document.head.appendChild(script);
 }
 
-/**
- * Clears the postis objects and remoteControl.
- */
-function onunload() {
-    remoteControl.dispose();
-}
+loadScript(`https://${jitsiMeetDomain}/external_api.js`, () => {
+    const api = new JitsiMeetExternalAPI(
+        process.env.JITSI_MEET_DOMAIN || jitsiMeetDomain);
+    const iframe = api.getIFrame();
+    setupScreenSharingForWindow(iframe);
+    new RemoteControl(iframe);
+});