diff --git a/lib/worker.js b/lib/worker.js
index b575e2d95a372980e0ebc5b435615408af74111c..61c5024fc166992bba442721e1b0dad7b19e978b 100644
--- a/lib/worker.js
+++ b/lib/worker.js
@@ -31,28 +31,22 @@ process.once("message", function (obj) {
 		postMessage: function postMessage(msg) {
 			process.send(JSON.stringify({ data: msg }));
 		},
-		onmessage: noop,
-		onerror: noop,
+		onmessage: void 0,
+		onerror: void 0,
 		addEventListener: function addEventListener(event, fn) {
-			if (event === "message") {
-				global.onmessage = global.self.onmessage = fn;
-			}
-
-			if (event === "error") {
-				global.onerror = global.self.onerror = fn;
-			}
+			global["on" + event] = global.self["on" + event] = fn;
 		}
 	};
 
 	global.require = require;
 
 	global.importScripts = function () {
-		var scripts = undefined;
-
 		for (var _len = arguments.length, files = Array(_len), _key = 0; _key < _len; _key++) {
 			files[_key] = arguments[_key];
 		}
 
+		var scripts = undefined;
+
 		if (files.length > 0) {
 			scripts = files.map(function (file) {
 				return fs.readFileSync(file, "utf8");
diff --git a/package.json b/package.json
index b746ff078f326b9c32e91c220728b498fe070a4e..d2e5114a668ea8b138765f2b709f228e467ce1fe 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "tiny-worker",
-  "version": "1.1.2",
+  "version": "1.1.3",
   "description": "Tiny WebWorker for Server",
   "main": "lib/index.js",
   "scripts": {
diff --git a/src/worker.js b/src/worker.js
index a87a39a08cc3a34bc19218b3479e516a1dd8e464..f7182d5e1798830d34edf9285368fcb5cdd88806 100644
--- a/src/worker.js
+++ b/src/worker.js
@@ -19,36 +19,30 @@ function toFunction (arg) {
 }
 
 // Bootstraps the Worker
-process.once("message", function (obj) {
+process.once("message", obj => {
 	let exp = obj.isfn ? toFunction(obj.input) : fs.readFileSync(obj.input, "utf8");
 
 	global.self = {
-		close: function () {
+		close: () => {
 			process.exit(0);
 		},
-		postMessage: function (msg) {
+		postMessage: msg => {
 			process.send(JSON.stringify({data: msg}));
 		},
-		onmessage: noop,
-		onerror: noop,
-		addEventListener: function (event, fn) {
-			if (event === "message") {
-				global.onmessage = global.self.onmessage = fn;
-			}
-
-			if (event === "error") {
-				global.onerror = global.self.onerror = fn;
-			}
+		onmessage: void 0,
+		onerror: void 0,
+		addEventListener: (event, fn) => {
+			global["on" + event] = global.self["on" + event] = fn;
 		}
 	};
 
 	global.require = require;
 
-	global.importScripts = function (...files) {
+	global.importScripts = (...files) => {
 		let scripts;
 
 		if (files.length > 0) {
-			scripts = files.map(function (file) {
+			scripts = files.map(file => {
 				return fs.readFileSync(file, "utf8");
 			}).join("\n");
 
@@ -56,15 +50,15 @@ process.once("message", function (obj) {
 		}
 	};
 
-	Object.keys(global.self).forEach(function (key) {
+	Object.keys(global.self).forEach(key => {
 		global[key] = global.self[key];
 	});
 
-	process.on("message", function (msg) {
+	process.on("message", msg => {
 		(global.onmessage || global.self.onmessage || noop)(JSON.parse(msg));
 	});
 
-	process.on("error", function (err) {
+	process.on("error", err => {
 		(global.onerror || global.self.onerror || noop)(err);
 	});