diff --git a/javascript/src/iframe/globals.js b/javascript/src/iframe/globals.js
deleted file mode 100644
index 7fda1ed93aee5e58946291346166225c7b907e30..0000000000000000000000000000000000000000
--- a/javascript/src/iframe/globals.js
+++ /dev/null
@@ -1,107 +0,0 @@
-import Penpal from 'penpal';
-
-/**
- * This script defines global variables and functions used everywhere.
- * TODO: must be reworked to get rid of global vars
- */
-
-const ViamAPI = require('../../temp/viamapi');
-const WopiAPI = require('./wopiapi-iframe');
-
-window.viamApi = new ViamAPI();
-window.viamAnonymousApi = new ViamAPI();
-window.wopiAPI = new WopiAPI();
-window.loadedIdentities = {};
-window.currentlyAuthenticatedIdentity = null;
-window.currentlyLoadedIdentity = null;
-window.lastTimeGetProfile = 0;
-
-window.executeRestfulFunction = function (type, that, fn, ...args) {
-  if(type == "private") {
-    return new Penpal.Promise(executeResult => {
-      fn.apply(that, args).then((response) => {
-        if (response.data.code == "400" && response.data.status == "Bad session") {
-          console.log("Trying to login again")
-          if(currentlyAuthenticatedIdentity != "" && currentlyAuthenticatedIdentity != null) {
-            viamApi.identityLogin("previousaddeddevice").then((response1) => {
-              if (response1.data.code == "200") {
-                //console.log(response.data.data)
-                var uuid = response1.data.data["Uuid"]
-                var token = response1.data.data["Session"]
-                //console.log(uuid + " " + token)
-                viamApi.setSessionData(uuid, token)
-                localStorage.setItem("uuid", uuid)
-                localStorage.setItem("token", token)
-                localStorage.setItem("authenticatedIdentity", currentlyAuthenticatedIdentity.authentication.publicKey)
-                currentlyAuthenticatedIdentity = loadedIdentities[currentlyAuthenticatedIdentity.authentication.publicKey]
-                setKeyForUUID(uuid, currentlyAuthenticatedIdentity.authentication.publicKey)
-                console.log('Last', lastTimeGetProfile)
-                lastTimeGetProfile = 0;
-                fn.apply(null, args).then((response2) => {
-                  executeResult(response2.data)
-                });
-              } else {
-                executeResult(response1.data)
-              }
-            });
-          } else {
-            if(currentlyLoadedIdentity != "" && currentlyLoadedIdentity != null) {
-              viamApi.identityLogin("previousaddeddevice").then((response1) => {
-                if (response1.data.code == "200") {
-                  //console.log(response.data.data)
-                  var uuid = response1.data.data["Uuid"]
-                  var token = response1.data.data["Session"]
-                  //console.log(uuid + " " + token)
-                  viamApi.setSessionData(uuid, token)
-                  localStorage.setItem("uuid", uuid)
-                  localStorage.setItem("token", token)
-                  localStorage.setItem("authenticatedIdentity", currentlyLoadedIdentity.authentication.publicKey)
-                  currentlyAuthenticatedIdentity = loadedIdentities[currentlyLoadedIdentity.authentication.publicKey]
-                  setKeyForUUID(uuid, currentlyLoadedIdentity.authentication.publicKey)
-                  lastTimeGetProfile = 0;
-                  fn.apply(null, args).then((response2) => {
-                    executeResult(response2.data)
-                  });
-                } else {
-                  executeResult(response1.data)
-                }
-              });
-            } else {
-              executeResult(response.data)
-            }
-          }
-        } else {
-          executeResult(response.data)
-        }
-      });
-    });
-  } else {
-    return new Penpal.Promise(executeResult => {
-      fn.apply(that, args).then((response) => {
-        executeResult(response.data)
-      });
-    });
-  }
-};
-
-window.extendPinCodeTtl = function(key, pinCode) {
-  if(pinCode == null || pinCode == "") {
-    var now = new Date();
-    var nowMillis = now.getTime();
-    var ttl = window.sessionStorage.getItem("pincodettls/" + key);
-    if (ttl == null || ttl == "" || nowMillis >= parseInt(ttl)) {
-      clearPinCodeTtl(key)
-      return false
-    } else {
-      var ttl = now.getTime() + 10 * 60 * 1000;
-      window.sessionStorage.setItem("pincodettls/" + key, ttl);
-    }
-  } else {
-    var now = new Date();
-    var ttl = now.getTime() + 10 * 60 * 1000;
-    window.sessionStorage.setItem("pincodettls/" + key, ttl);
-    window.sessionStorage.setItem("pincodes/" + key, pinCode);
-  }
-
-  return true;
-}
\ No newline at end of file
diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js
index 10982b2b4f21846a525c03570ab9632e1ef271e2..438d893b88fa18048d5174bc46f9bd2ad50e231b 100644
--- a/javascript/src/iframe/viamapi-iframe.js
+++ b/javascript/src/iframe/viamapi-iframe.js
@@ -5,8 +5,9 @@ const asn1js = require('asn1js');
 const pvutils = require('pvutils');
 const Penpal = require('penpal').default;
 
-require('./globals');
 const penpalMethods = require('../../temp/penpal-methods').default;
+const WopiAPI = require('./wopiapi-iframe');
+const ViamAPI = require('../../temp/viamapi');
 
 //*********************************************************************************
 
@@ -1272,6 +1273,34 @@ function getStack() {
   }
 }
 
+function extendPinCodeTtl(key, pinCode) {
+  //console.log("Extending pincode ttl")
+  //console.log(getStack())
+  //console.log("Extending pincode ttl for key: " + key)
+  //console.log(pinCode)
+  if(pinCode == null || pinCode == "") {
+    var now = new Date();
+    var nowMillis = now.getTime();
+    var ttl = window.sessionStorage.getItem("pincodettls/" + key);
+    if (ttl == null || ttl == "" || nowMillis >= parseInt(ttl)) {
+      clearPinCodeTtl(key)
+      return false
+    } else {
+      var ttl = now.getTime() + 10 * 60 * 1000;
+      window.sessionStorage.setItem("pincodettls/" + key, ttl);
+    }
+  } else {
+    var now = new Date();
+    var ttl = now.getTime() + 10 * 60 * 1000;
+    window.sessionStorage.setItem("pincodettls/" + key, ttl);
+    window.sessionStorage.setItem("pincodes/" + key, pinCode);
+  }
+
+  return true;
+}
+
+window.extendPinCodeTtl = extendPinCodeTtl;
+
 function clearPinCodeTtl(key) {
   //console.log("Clearing ttl for key: " + key)
   window.sessionStorage.removeItem("pincodettls/" + key)
@@ -1319,6 +1348,83 @@ function destroyIdentityFromLocalStorage(key) {
   localStorage.setItem("identities", JSON.stringify(identities))
 }
 
+window.loadedIdentities = {}
+window.wopiAPI = new WopiAPI();
+window.viamApi = new ViamAPI();
+window.viamAnonymousApi = new ViamAPI();
+window.currentlyAuthenticatedIdentity = null
+window.currentlyLoadedIdentity = null
+window.lastTimeGetProfile = 0
+
+function executeRestfulFunction(type, that, fn, ...args) {
+  if(type == "private") {
+    return new Penpal.Promise(executeResult => {
+      fn.apply(that, args).then((response) => {
+        if (response.data.code == "400" && response.data.status == "Bad session") {
+          console.log("Trying to login again")
+          if(currentlyAuthenticatedIdentity != "" && currentlyAuthenticatedIdentity != null) {
+            viamApi.identityLogin("previousaddeddevice").then((response1) => {
+              if (response1.data.code == "200") {
+                //console.log(response.data.data)
+                var uuid = response1.data.data["Uuid"]
+                var token = response1.data.data["Session"]
+                //console.log(uuid + " " + token)
+                viamApi.setSessionData(uuid, token)
+                localStorage.setItem("uuid", uuid)
+                localStorage.setItem("token", token)
+                localStorage.setItem("authenticatedIdentity", currentlyAuthenticatedIdentity.authentication.publicKey)
+                currentlyAuthenticatedIdentity = loadedIdentities[currentlyAuthenticatedIdentity.authentication.publicKey]
+                setKeyForUUID(uuid, currentlyAuthenticatedIdentity.authentication.publicKey)
+                lastTimeGetProfile = 0;
+                fn.apply(null, args).then((response2) => {
+                  executeResult(response2.data)
+                });
+              } else {
+                executeResult(response1.data)
+              }
+            });
+          } else {
+            if(currentlyLoadedIdentity != "" && currentlyLoadedIdentity != null) {
+              viamApi.identityLogin("previousaddeddevice").then((response1) => {
+                if (response1.data.code == "200") {
+                  //console.log(response.data.data)
+                  var uuid = response1.data.data["Uuid"]
+                  var token = response1.data.data["Session"]
+                  //console.log(uuid + " " + token)
+                  viamApi.setSessionData(uuid, token)
+                  localStorage.setItem("uuid", uuid)
+                  localStorage.setItem("token", token)
+                  localStorage.setItem("authenticatedIdentity", currentlyLoadedIdentity.authentication.publicKey)
+                  currentlyAuthenticatedIdentity = loadedIdentities[currentlyLoadedIdentity.authentication.publicKey]
+                  setKeyForUUID(uuid, currentlyLoadedIdentity.authentication.publicKey)
+                  lastTimeGetProfile = 0;
+                  fn.apply(null, args).then((response2) => {
+                    executeResult(response2.data)
+                  });
+                } else {
+                  executeResult(response1.data)
+                }
+              });
+            } else {
+              executeResult(response.data)
+            }
+          }
+        } else {
+          executeResult(response.data)
+        }
+      });
+    });
+  } else {
+    return new Penpal.Promise(executeResult => {
+      fn.apply(that, args).then((response) => {
+        executeResult(response.data)
+      });
+    });
+  }
+}
+
+window.executeRestfulFunction = executeRestfulFunction;
+
 function loadIdentityInternal(identityKey, pinCode) {
   return new Penpal.Promise(result => {
     console.log("Loading identity with pincode: " + pinCode)
@@ -1510,7 +1616,7 @@ const connection = Penpal.connectToParent({
             "code" : "200",
             "status" : "Identity created"
           })
-        }).catch(console.error);
+        });
       })
     },
     listIdentities() {
@@ -2158,7 +2264,7 @@ const connection = Penpal.connectToParent({
   }
 })
 
-connection.promise.then(async parent => {
+connection.promise.then(parent => {
   var identities = localStorage.getItem("identities")
 
   console.log("Library loaded at: " + new Date().toISOString())