diff --git a/src/base/base_object.js b/src/base/base_object.js
index <HASH>..<HASH> 100644
--- a/src/base/base_object.js
+++ b/src/base/base_object.js
@@ -2,21 +2,22 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-var _ = require('underscore');
-var extend = require('./utils').extend;
-var Events = require('./events');
+var _ = require('underscore')
+var extend = require('./utils').extend
+var Events = require('./events')
 
-var pluginOptions = ['container'];
+var pluginOptions = ['container']
 
-var BaseObject = function(options) {
-  options || (options = {});
-  _.extend(this, _.pick(options, pluginOptions));
-  this.initialize.apply(this, arguments);
-};
+class BaseObject extends Events {
+  constructor(options) {
+    options || (options = {})
+    _.extend(this, _.pick(options, pluginOptions))
+    if (this.initialize) {
+      this.initialize.apply(this, arguments)
+    }
+  }
+}
 
-_.extend(BaseObject.prototype, Events);
-
-BaseObject.extend = extend;
-
-module.exports = BaseObject;
+BaseObject.extend = extend
 
+module.exports = BaseObject
base object: change to es6 syntax