diff --git a/extension/js/main.js b/extension/js/main.js
index 9800cf0..c653953 100644
--- a/extension/js/main.js
+++ b/extension/js/main.js
@@ -1,5 +1,5 @@
 /*jslint vars: true, plusplus: true, devel: true, nomen: true, regexp: true, indent: 4, maxerr: 50 */
-/*global $, window, location, CSInterface, SystemPath, themeManager, compSelectionController, compRenderController, messageController, infoController, snapshotController*/
+/*global $, window, location, CSInterface, SystemPath, themeManager, compSelectionController, compRenderController, messageController, infoController, snapshotController, require*/
 
 var mainController = (function () {
     'use strict';
@@ -8,6 +8,10 @@
     var csInterface = new CSInterface();
     var mainViews = [];
     
+    
+    var gulp = require('gulp');
+    var gzip = require('gulp-gzip');
+    
     function showView(view) {
         var i, len = mainViews.length;
         for (i = 0; i < len; i += 1) {
@@ -27,6 +31,17 @@
         showView('selection');
     });
         
+    csInterface.addEventListener('bm:zip:data', function (ev) {
+        var jsonString = ev.data.jsonString;
+        var zippingStr = jsonString.substr(1);
+        var outStr;
+        gulp.src('tmp', { read: false })
+        .pipe(gzip({ append: false }))
+        .pipe(gulp.dest('outStr'));
+        //csInterface.evalScript('bm_dataManager.writeZippedData(' + outStr + ')');
+        console.log(outStr);
+    });
+        
     csInterface.addEventListener('console:log', function (ev) {
         console.log(JSON.stringify(ev.data));
     });
