diff --git a/content.js b/content.js
index 66716a24d7a1b62ff166eb999d2ca8fb5ad17564..adcc2e9c717db997b3fb0006f88c2b2406479da7 100644
--- a/content.js
+++ b/content.js
@@ -74,17 +74,20 @@ function range(template, value) {
  * Initialize Midi
  */
 function midiApi() {
-    if (midi) {
-        WebMidi
-            .enable()
-            .then(launchMidi)
-            .catch(err => alert(err));
-    }
-    else {
-        WebMidi.disable();
-        chrome.storage.sync.set({ midiI: false });
-        chrome.runtime.sendMessage({ type: 'updateUi', data: false });
-    }
+    chrome.storage.sync.get(['midiI', 'activate'], function (result) {
+        midi = result.midiI;
+        activate = result.activate;
+        if (midi && activate) {
+            WebMidi
+                .enable()
+                .then(launchMidi)
+                .catch(err => alert(err));
+        }
+        else {
+            WebMidi.disable();
+            chrome.runtime.sendMessage({ type: 'updateUi', data: false });
+        }
+    });
 }
 
 /**
@@ -297,9 +300,10 @@ function volumeAudioProcess(event) {
  * Initialize audio, request micro to user 
  */
 function audioApi() {
-    chrome.storage.sync.get(['audioI'], function (result) {
+    chrome.storage.sync.get(['audioI', 'activate'], function (result) {
         audio = result.audioI;
-        if (audio) {
+        activate = result.activate;
+        if (audio && activate) {
             window.AudioContext = window.AudioContext || window.webkitAudioContext;
             audioContext = new AudioContext();
             try {
@@ -481,49 +485,50 @@ function audioEvent() {
     });
 
     const sum = audioSample.reduce((a, b) => a + b, 0);
-    const avg = (sum / audioSample.length) || 0;
+    const avg = (sum / audioSample.length) |rgba(16 18 27 / 40%)| 0;
     var attack = false;
     if (avg + 0.05 < meter.volume) {
         attack = true;
     }
     audioSample.shift();
     audioSample.push(meter.volume);
-
     chrome.storage.sync.get(['all'], function (result) {
-        result.all.forEach(element => {
-            value = element.value;
-            eventIn = false;
-            element.templates.forEach(template => {
-                if (template.type == 'audio') {
-                    Object.keys(presets).forEach(preset => {
-                        if (template.eventType == preset) {
+        if (result.all.length > 0) {
+            result.all.forEach(element => {
+                value = element.value;
+                eventIn = false;
+                element.templates.forEach(template => {
+                    if (template.type == 'audio') {
+                        Object.keys(presets).forEach(preset => {
+                            if (template.eventType == preset) {
+                                eventIn = true;
+                                value = value.replace('[' + template.templateFull + ']', range(template, energies[preset]));
+                            }
+                        });
+                        if (template.eventType == 'loud') {
                             eventIn = true;
-                            value = value.replace('[' + template.templateFull + ']', range(template, energies[preset]));
+                            volume = meter.volume * 1.4;
+                            value = value.replace('[' + template.templateFull + ']', (meter.volume * 1.4 < 1 ? range(template, volume) : 0));
+                        }
+                        if (template.eventType == 'onset' && template.eventName == noteStrings[note % 12]) {
+                            eventIn = true;
+                            value = value.replace('[' + template.templateFull + ']', range(template, 1));
+                        }
+                        if (attack && template.eventType == 'attack') {
+                            console.log('Attack');
+                            eventIn = true;
+                            value = value.replace('[' + template.templateFull + ']', '');
                         }
-                    });
-                    if (template.eventType == 'loud') {
-                        eventIn = true;
-                        volume = meter.volume * 1.4;
-                        value = value.replace('[' + template.templateFull + ']', (meter.volume * 1.4 < 1 ? range(template, volume) : 0));
-                    }
-                    if (template.eventType == 'onset' && template.eventName == noteStrings[note % 12]) {
-                        eventIn = true;
-                        value = value.replace('[' + template.templateFull + ']', range(template, 1));
-                    }
-                    if (attack && template.eventType == 'attack') {
-                        console.log('Attack');
-                        eventIn = true;
-                        value = value.replace('[' + template.templateFull + ']', '');
                     }
+                });
+                if (eventIn) {
+                    let els = document.querySelectorAll(element.element);
+                    els.forEach(e => {
+                        e.style[element.property] = value;
+                    });
                 }
             });
-            if (eventIn) {
-                let els = document.querySelectorAll(element.element);
-                els.forEach(e => {
-                    e.style[element.property] = value;
-                });
-            }
-        });
+        }
     });
 
     var newTime = new Date().getTime();
@@ -540,16 +545,18 @@ function audioEvent() {
 
 function pureCss() {
     chrome.storage.sync.get(['all'], function (result) {
-        result.all.forEach(element => {
-            element.templates.forEach(template => {
-                if (template.type == 'pure') {
-                    let els = document.querySelectorAll(element.element);
-                    els.forEach(e => {
-                        e.style[element.property] = element.value;
-                    });
-                }
+        if (result.all.length > 0) {
+            result.all.forEach(element => {
+                element.templates.forEach(template => {
+                    if (template.type == 'pure') {
+                        let els = document.querySelectorAll(element.element);
+                        els.forEach(e => {
+                            e.style[element.property] = element.value;
+                        });
+                    }
+                });
             });
-        });
+        }
     });
 }
 
@@ -581,7 +588,6 @@ function onMessage({ type, data }) {
             break;
         }
         case 'midi': {
-            midi = data;
             midiApi();
             break;
         }