diff --git a/bower.json b/bower.json
index f383ed3a390d63333b23ead09db3a4825cb1c62c..8bbd69acdac2ef95c0a198c46cc9b79adf822860 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
 {
   "name": "json-schema-faker",
-  "version": "0.5.0-rc8",
+  "version": "0.5.0-rc9",
   "description": "JSON-Schema + fake data generators",
   "homepage": "http://json-schema-faker.js.org",
   "main": "dist/json-schema-faker.js",
diff --git a/build/dist.js b/build/dist.js
index 59955e1c685619c74531faca3ed1cf9068db8744..a8f9d4861177dad463df9ac469d9c4e5af04f8b1 100644
--- a/build/dist.js
+++ b/build/dist.js
@@ -4,9 +4,7 @@ var bundleName = 'JSONSchemaFaker';
 // boilerplate...
 var fs = require('fs-extra'),
     path = require('path'),
-    glob = require('glob'),
     rollup = require('rollup'),
-    uglifyjs = require('uglify-js'),
     commonJs = require('rollup-plugin-commonjs'),
     nodeResolve = require('rollup-plugin-node-resolve'),
     template = require('lodash.template');
@@ -73,18 +71,21 @@ function bundle(options, next) {
       }
     });
 
-    var min = uglifyjs.minify(_bundle, {
-      fromString: true,
-      compress: true,
-      mangle: true,
-      filename: options.src,
-      output: {
-        comments: /^!|^\*!|@preserve|@license|@cc_on/
-      },
-    });
+    var gcc = require('google-closure-compiler-js').compile;
+
+    var min = gcc({
+      jsCode: [{ src: _bundle }],
+      languageIn: 'ECMASCRIPT6',
+      languageOut: 'ECMASCRIPT5',
+      compilationLevel: 'ADVANCED',
+      warningLevel: 'VERBOSE',
+      env: 'CUSTOM',
+      createSourceMap: false,
+      applyInputSourceMaps: false,
+    }).compiledCode;
 
     // minified output
-    fs.outputFileSync(destFile.replace(/\.js$/, '.min.js'), min.code);
+    fs.outputFileSync(destFile.replace(/\.js$/, '.min.js'), min);
 
     // regular output
     fs.outputFileSync(destFile, _bundle);
diff --git a/dist/json-schema-faker.js b/dist/json-schema-faker.js
index b92feb81ea28ef3c00df74ef36e5a7b9875aa15d..b9ac413ec838198ad0f7a204a652abeaaa7adfa2 100644
Binary files a/dist/json-schema-faker.js and b/dist/json-schema-faker.js differ
diff --git a/dist/json-schema-faker.min.js b/dist/json-schema-faker.min.js
index 66dc9051da651c15d98d017a88658263cab28f02..b3a6012d5dbe9b85ec037c7ca12f59d67c4c6262 100644
Binary files a/dist/json-schema-faker.min.js and b/dist/json-schema-faker.min.js differ
diff --git a/lib/index.js b/lib/index.js
index 7f7eea6be4c9433cc08845d8c2fd294b75e703d9..ba28969ade34d2eeda85f5eb7bff02333b148b26 100644
Binary files a/lib/index.js and b/lib/index.js differ
diff --git a/package.json b/package.json
index 64a80cfcd83d95fa3204ea31069d07b35b58c869..12ca94f0126e0b51318f0d715d021fb5234eb400 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "json-schema-faker",
-  "version": "0.5.0-rc8",
+  "version": "0.5.0-rc9",
   "description": "JSON-Schema + fake data generators",
   "homepage": "http://json-schema-faker.js.org",
   "main": "lib/index.js",
@@ -73,7 +73,7 @@
     "codecov": "^2.2.0",
     "faker": "^4.1.0",
     "fs-extra": "^3.0.1",
-    "glob": "^7.1.2",
+    "google-closure-compiler-js": "^20170626.0.0",
     "istanbul": "^0.4.5",
     "jasmine-node": "2.0.0-beta4",
     "jayschema": "^0.3.1",
@@ -88,7 +88,6 @@
     "tv4": "^1.3.0",
     "typedoc": "^0.7.1",
     "typescript": "^2.3.4",
-    "uglify-js": "^3.0.13",
     "z-schema": "^3.18.2"
   },
   "dependencies": {
diff --git a/yarn.lock b/yarn.lock
index 7cbc1954e2627de01df5ba5ef3a55ea6db630562..3c0b097e6afd6b366b00c9177cc725daf4260b3a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -281,10 +281,26 @@ cliui@^2.1.0:
     right-align "^0.1.1"
     wordwrap "0.0.2"
 
+clone-buffer@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
+
+clone-stats@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
+
 clone@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb"
 
+cloneable-readable@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.0.0.tgz#a6290d413f217a61232f95e458ff38418cfb0117"
+  dependencies:
+    inherits "^2.0.1"
+    process-nextick-args "^1.0.6"
+    through2 "^2.0.1"
+
 co@^4.6.0:
   version "4.6.0"
   resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
@@ -317,7 +333,7 @@ combined-stream@^1.0.5, combined-stream@~1.0.5:
   dependencies:
     delayed-stream "~1.0.0"
 
-commander@^2.7.1, commander@^2.9.0, commander@~2.9.0:
+commander@^2.7.1, commander@^2.9.0:
   version "2.9.0"
   resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
   dependencies:
@@ -616,7 +632,7 @@ glob@^5.0.15:
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
-glob@^7.0.0, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
+glob@^7.0.0, glob@^7.0.5, glob@^7.1.1:
   version "7.1.2"
   resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
   dependencies:
@@ -643,6 +659,14 @@ globule@~0.1.0:
     lodash "~1.0.1"
     minimatch "~0.2.11"
 
+google-closure-compiler-js@^20170626.0.0:
+  version "20170626.0.0"
+  resolved "https://registry.yarnpkg.com/google-closure-compiler-js/-/google-closure-compiler-js-20170626.0.0.tgz#5df265b277d1ec6fdea12eed131d1491cd8a8d71"
+  dependencies:
+    minimist "^1.2.0"
+    vinyl "^2.0.1"
+    webpack-core "^0.6.8"
+
 graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
   version "4.1.11"
   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
@@ -1305,7 +1329,7 @@ pretty-ms@^2.1.0:
     parse-ms "^1.0.0"
     plur "^1.0.0"
 
-process-nextick-args@~1.0.6:
+process-nextick-args@^1.0.6, process-nextick-args@~1.0.6:
   version "1.0.7"
   resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
 
@@ -1348,7 +1372,7 @@ rc@^1.1.7:
     minimist "^1.2.0"
     strip-json-comments "~2.0.1"
 
-readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4:
+readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5:
   version "2.3.2"
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.2.tgz#5a04df05e4f57fe3f0dc68fdd11dc5c97c7e6f4d"
   dependencies:
@@ -1401,6 +1425,10 @@ repeat-string@^1.5.2:
   version "1.6.1"
   resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
 
+replace-ext@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
+
 request@2.79.0:
   version "2.79.0"
   resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
@@ -1505,9 +1533,9 @@ rollup-pluginutils@^2.0.1:
     estree-walker "^0.3.0"
     micromatch "^2.3.11"
 
-rollup@^0.41.6:
-  version "0.41.6"
-  resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.41.6.tgz#e0d05497877a398c104d816d2733a718a7a94e2a"
+rollup@^0.42.0:
+  version "0.42.0"
+  resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.42.0.tgz#56e791b3a2f3dd7190bbb80a375675f2fe0f9b23"
   dependencies:
     source-map-support "^0.4.0"
 
@@ -1553,13 +1581,17 @@ sntp@1.x.x:
   dependencies:
     hoek "2.x.x"
 
+source-list-map@~0.1.7:
+  version "0.1.8"
+  resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
+
 source-map-support@^0.4.0:
   version "0.4.15"
   resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1"
   dependencies:
     source-map "^0.5.6"
 
-source-map@^0.4.4:
+source-map@^0.4.4, source-map@~0.4.1:
   version "0.4.4"
   resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
   dependencies:
@@ -1678,6 +1710,13 @@ tarima@^3.2.1:
     tosource ">=1.0.0"
     wargs "^0.7.0"
 
+through2@^2.0.1:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
+  dependencies:
+    readable-stream "^2.1.5"
+    xtend "~4.0.1"
+
 tosource@>=1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/tosource/-/tosource-1.0.0.tgz#42d88dd116618bcf00d6106dd5446f3427902ff1"
@@ -1799,13 +1838,6 @@ uglify-js@^2.6:
   optionalDependencies:
     uglify-to-browserify "~1.0.0"
 
-uglify-js@^3.0.13:
-  version "3.0.13"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.13.tgz#1871d736aa1e550c728d7e5a6556579e70925d68"
-  dependencies:
-    commander "~2.9.0"
-    source-map "~0.5.1"
-
 uglify-to-browserify@~1.0.0:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
@@ -1854,6 +1886,17 @@ verror@1.3.6:
   dependencies:
     extsprintf "1.0.2"
 
+vinyl@^2.0.1:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.1.0.tgz#021f9c2cf951d6b939943c89eb5ee5add4fd924c"
+  dependencies:
+    clone "^2.1.1"
+    clone-buffer "^1.0.0"
+    clone-stats "^1.0.0"
+    cloneable-readable "^1.0.0"
+    remove-trailing-separator "^1.0.1"
+    replace-ext "^1.0.0"
+
 vlq@^0.2.1:
   version "0.2.2"
   resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.2.tgz#e316d5257b40b86bb43cb8d5fea5d7f54d6b0ca1"
@@ -1866,6 +1909,13 @@ wargs@^0.7.0:
   version "0.7.0"
   resolved "https://registry.yarnpkg.com/wargs/-/wargs-0.7.0.tgz#5a7835d12fc0e756a278406c0a50e79a541c20e1"
 
+webpack-core@^0.6.8:
+  version "0.6.9"
+  resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2"
+  dependencies:
+    source-list-map "~0.1.7"
+    source-map "~0.4.1"
+
 when@~3.4.6:
   version "3.4.6"
   resolved "https://registry.yarnpkg.com/when/-/when-3.4.6.tgz#8fbcb7cc1439d2c3a68c431f1516e6dcce9ad28c"
@@ -1915,7 +1965,7 @@ xmlbuilder@^4.1.0:
   dependencies:
     lodash "^4.0.0"
 
-xtend@^4.0.0:
+xtend@^4.0.0, xtend@~4.0.1:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"