diff --git a/.travis.yml b/.travis.yml
index 22f5006fd3e66cbf1b1dcb9d939a848ee9e5ce53..38bf256442cb755b728055b9648a877f1bc117aa 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,7 +2,7 @@ language: node_js
 branches:
   only:
     - master
-    - extending-dependencies
+    - jsf-extend
 node_js:
   - 0.10
 before_script:
diff --git a/README.md b/README.md
index 41dd34bdbff8d0b0a59cd4a8606618bb4504ddf9..4f5dcca9152bad14f07942f10e459ca5e2181944 100644
--- a/README.md
+++ b/README.md
@@ -201,6 +201,35 @@ Callback:
 
 Note that custom generators has lower precedence than core ones.
 
+## Extending dependencies
+
+You may extend [Faker.js](http://marak.com/faker.js/) and [Chance.js](http://chancejs.com/):
+
+```javascript
+var jsf = require('json-schema-faker');
+
+jsf.extend('faker', function(faker){
+  faker.locale = "de"; // or any other language
+  faker.custom = {
+    statement: function(length) {
+      return faker.name.firstName() + " has " + faker.finance.amount() + " on " + faker.finance.account(length) + ".";
+    }
+  };
+  return faker;
+});
+
+var schema = {
+  "type": "string",
+  "faker": {
+    "custom.statement": [19]
+  }
+}
+
+var sample = jsf(schema);
+```
+
+The first parameter of `extend` function is the generator name (`faker` or `chance`). The second one is the function that accepts the dependency library; the function alters the library and **returns it**.
+
 ## Automation: grunt plugin
 
 Use [grunt-jsonschema-faker](https://github.com/tkoomzaaskz/grunt-jsonschema-faker)
diff --git a/lib/index.js b/lib/index.js
index add3f48753d677aeffd0076ddc03c12a9e3645bb..8188bf6e9ca2b3f7518c0cfc88d814aa1f4ecd61 100644
Binary files a/lib/index.js and b/lib/index.js differ
diff --git a/spec/core/customize/faker-extend.js b/spec/core/extend/faker-extend.js
similarity index 89%
rename from spec/core/customize/faker-extend.js
rename to spec/core/extend/faker-extend.js
index c66c5a6b1658a3cb5fe0b87ffbad961d7f9f22f7..77951b35c53d458486081d5be02c4816eae1834f 100644
--- a/spec/core/customize/faker-extend.js
+++ b/spec/core/extend/faker-extend.js
@@ -15,6 +15,6 @@ module.exports = {
         return faker;
     },
     register: function(jsfaker) {
-        return jsfaker.customize('faker', this.extend);
+        return jsfaker.extend('faker', this.extend);
     }
 };
diff --git a/spec/core/customize/faker.json b/spec/core/extend/faker.json
similarity index 73%
rename from spec/core/customize/faker.json
rename to spec/core/extend/faker.json
index 1f73c00c02cfe2aa1f578e2cff8a330fc2576f29..418c39e460ce02c9047e1c0e4b96222eb3e759b4 100644
--- a/spec/core/customize/faker.json
+++ b/spec/core/extend/faker.json
@@ -1,6 +1,6 @@
 [
   {
-    "description": "generated extended faker",
+    "description": "faker extension",
     "tests": [
       {
         "description": "should handle faker.custom.statement",
@@ -11,7 +11,7 @@
           }
         },
         "valid": true,
-        "require": "core/customize/faker-extend"
+        "require": "core/extend/faker-extend"
       }
     ]
   }