diff --git a/js/main.js b/js/main.js
index 60bbb01955bda8a64313ff6b3c6205b1916cad95..a791d31ae4664d8a78f7a0444ece690b0af77033 100644
--- a/js/main.js
+++ b/js/main.js
@@ -7,6 +7,6 @@ $(function(){
 
     three = Three();
     setupNavBar();
-    makeWorkers(4);
+    persistentWorkers(4);
 
 });
diff --git a/js/persistentWorkers.js b/js/persistentWorkers.js
index 343b8d6087ac7fae66e20604c8d4f5c871b2e2bf..5a13971086795b473e3308aa79b44b6828985eab 100644
--- a/js/persistentWorkers.js
+++ b/js/persistentWorkers.js
@@ -1,26 +1,30 @@
 //global workers so they do not have to be reinstantiated
 
+function persistentWorkers(numWorkers){
 
-function browserSupportsWebWorkers() {
-  return typeof window.Worker === "function";
-}
-
-function makeWorkers(numWorkers){
+    //check compatibility
+    if (!(typeof window.Worker === "function")){
+        console.log("workers not supported");
+        return nil;
+    }
 
+    //create array of workers
     var allWorkers = [];
     var URL = window.URL || window.webkitURL;
     var workerURL = makeBlobURL(URL, myWorker);
     for (var i=0;i<numWorkers;i++){
         var worker = new Worker(workerURL);
+        var location = document.location;
+        worker.postMessage({url: location.toString()});
         worker.postMessage([i,4]);
-
-        worker.onmessage = function(e) {
-          console.log(e.data);
-        };
+        worker.onmessage = workerCallback;
         allWorkers.push(worker);
     }
     URL.revokeObjectURL(workerURL);
 
+    function workerCallback(e){
+        console.log(e.data);
+    }
 
     function makeBlobURL(URL, someFunction) {
         var blob = new Blob(["(" + someFunction.toString() + ")()"], { type: "text/javascript" });
diff --git a/js/worker.js b/js/worker.js
index fb1d55998c49e0169ec5ee1953bf39747094b429..ea476c9ab7b89aecb34906109f11b56d109e88fa 100644
--- a/js/worker.js
+++ b/js/worker.js
@@ -7,16 +7,19 @@ function myWorker(){
         var data = e.data;
 
         if (data.url) {
-            var url = data.url.href;
+            var url = data.url;
             var index = url.indexOf('main.html');//url of landing page
             if (index != -1) {
               url = url.substring(0, index);
             }
         //load all scripts
-    //    importScripts(url + 'dependencies/three.js');
+        importScripts(url + 'dependencies/three.js');
     //    importScripts(url + 'js/element.js');
+            return;
         }
 
+
+        console.log(new THREE.Vector3(0,3,4));
         var workerResult = 'Result: ' + (e.data[0] * e.data[1]);
         postMessage(workerResult);