diff --git a/.eslintrc b/.eslintrc
index f0c7df59b638888ca4719d44e58461a9b6e7740b..49f809ed97e10bfc1324da9df33171ae5e9cf0fa 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -8,6 +8,6 @@
   },
   "parser": "babel-eslint",
   "globals": {
-        "Buffer": true
+        "OperationBuffer": true
     }
 }
diff --git a/.flowconfig b/.flowconfig
index 35dd2d8c1c04158ef4051c8a5a8dbe87401d5bdc..ed9887910e7b5e7be2e3ae688dedab94126a3a5c 100644
--- a/.flowconfig
+++ b/.flowconfig
@@ -1,8 +1,5 @@
 [ignore]
-./build_node
-./build
 ./build_test
-./y.js
 
 [include]
 ./src
diff --git a/src/Buffer.js b/src/Buffer.js
deleted file mode 100644
index 62b89229e7a3d01a26c383741c4c2dd52ccd9e8f..0000000000000000000000000000000000000000
--- a/src/Buffer.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/* @flow */
-/* global Buffer */
-
-class Buffer { //eslint-disable-line no-unused-vars
-  i : number;
-  constructor () {
-    this.i = 4;
-  }
-}
-
-
-function add(x : string){
-  return x + 4;
-}
-
-
-add("5");
-add("6");
diff --git a/src/OperationBuffer.js b/src/OperationBuffer.js
new file mode 100644
index 0000000000000000000000000000000000000000..29171ee1a6d6254b93a57510e943ebc903b60ca3
--- /dev/null
+++ b/src/OperationBuffer.js
@@ -0,0 +1,8 @@
+/* @flow */
+
+class OperationBuffer { //eslint-disable-line no-unused-vars
+  i : number;
+  constructor () {
+    this.i = 4;
+  }
+}
diff --git a/src/OperationBuffer.spec.js b/src/OperationBuffer.spec.js
new file mode 100644
index 0000000000000000000000000000000000000000..bf1b6114d589169af540ec479cd13dc03f1bbf71
--- /dev/null
+++ b/src/OperationBuffer.spec.js
@@ -0,0 +1,13 @@
+/* @flow */
+/*eslint-env browser,jasmine,console */
+
+describe("Operation Buffer", function() {
+  var OB = new OperationBuffer(void 0);
+
+  it("contains spec with an expectation", function(done) {
+    setTimeout(function(){
+      done();
+    }, 1000);
+    expect(OB.i).toBe(4);
+  });
+});
diff --git a/src/y.js b/src/y.js
index 2f989f8963dcb6e40268517aef388dd587aee758..e667c4717b696fd837c35c6a83d685b716965fcf 100644
--- a/src/y.js
+++ b/src/y.js
@@ -1,4 +1 @@
 /* @flow */
-/* global Buffer */
-
-export default Buffer;
diff --git a/y.js b/y.js
index 5a1850080f1418d726f988fafd8760e7d8888196..255173eeade46d5b0af0b19362be54ea71e6c4e2 100644
--- a/y.js
+++ b/y.js
@@ -1,2 +1,2 @@
-"use strict";function _classCallCheck(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}function add(n){return n+4}var Buffer=function n(){_classCallCheck(this,n),this.i=4};add("5"),add("6"),describe("A suite",function(){it("contains spec with an expectation",function(){expect(!0).toBe(!0)})});
+"use strict";function _classCallCheck(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}var OperationBuffer=function n(){_classCallCheck(this,n),this.i=4};describe("Operation Buffer",function(){var n=new OperationBuffer(void 0);window.console.log(n),it("contains spec with an expectation",function(n){setTimeout(function(){n()},1e3),expect(!0).toBe(!0)})});
 //# sourceMappingURL=y.js.map
\ No newline at end of file
diff --git a/y.js.map b/y.js.map
index d8a01012eff0c7fcf1d1cf5db9ba3176271aadde..71688b027f6836d6cdcd13becf38a09c3106d930 100644
--- a/y.js.map
+++ b/y.js.map
@@ -1 +1 @@
-{"version":3,"sources":["y.js","Buffer.js","Buffer.spec.js"],"names":["_classCallCheck","instance","Constructor","TypeError","add","x","Buffer","this","i","describe","it","expect","toBe"],"mappings":"AAGA,YAEA,SAASA,iBAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCCMhH,QAAAC,KAAAC,GACA,MAAAA,GAAA,EDLA,GCJAC,QAEA,QAFAA,KDKEN,gBAAgBO,KCLlBD,GAGAC,KAAAC,EAAA,EAUAJ,KAAA,KACAA,IAAA,KCdAK,SAAA,UAAA,WACAC,GAAA,oCAAA,WACAC,QAAA,GAAAC,MAAA","file":"y.js","sourcesContent":["/* @flow */\n/* global Buffer */\n\nexport default Buffer;\n","/* @flow */\n/* global Buffer */\n\nclass Buffer { //eslint-disable-line no-unused-vars\n  i : number;\n  constructor () {\n    this.i = 4;\n  }\n}\n\n\nfunction add(x : string){\n  return x + 4;\n}\n\n\nadd(\"5\");\nadd(\"6\");\n","/* @flow */\n/*eslint-env jasmine */\n\ndescribe(\"A suite\", function() {\n  it(\"contains spec with an expectation\", function() {\n    expect(true).toBe(true);\n  });\n});\n"],"sourceRoot":"/source/"}
\ No newline at end of file
+{"version":3,"sources":["y.js","OperationBuffer.js","OperationBuffer.spec.js"],"names":["_classCallCheck","instance","Constructor","TypeError","OperationBuffer","this","i","describe","OB","window","console","log","it","done","setTimeout","expect","toBe"],"mappings":"AAEA,YAEA,SAASA,iBAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAEhH,GCJAC,iBAEA,QAFAA,KDKEJ,gBAAgBK,KCLlBD,GAGAC,KAAAC,EAAA,ECFAC,UAAA,mBAAA,WACA,GAAAC,GAAA,GAAAJ,iBAAA,OACAK,QAAAC,QAAAC,IAAAH,GAEAI,GAAA,oCAAA,SAAAC,GACAC,WAAA,WACAD,KACA,KACAE,QAAA,GAAAC,MAAA","file":"y.js","sourcesContent":["/* @flow */\n","/* @flow */\n\nclass OperationBuffer { //eslint-disable-line no-unused-vars\n  i : number;\n  constructor () {\n    this.i = 4;\n  }\n}\n","/* @flow */\n/*eslint-env browser,jasmine */\n\ndescribe(\"Operation Buffer\", function() {\n  var OB = new OperationBuffer(void 0);\n  window.console.log(OB);\n\n  it(\"contains spec with an expectation\", function(done) {\n    setTimeout(function(){\n      done();\n    }, 1000);\n    expect(true).toBe(true);\n  });\n});\n"],"sourceRoot":"/source/"}
\ No newline at end of file