diff --git a/extend/extend-tests.ts b/extend/extend-tests.ts
new file mode 100644
index 0000000000..059aa22baf
--- /dev/null
+++ b/extend/extend-tests.ts
@@ -0,0 +1,41 @@
+///
+///
+
+import assert = require('assert');
+import extend = require('extend');
+
+var objectBase = {
+ test: 'base'
+};
+
+var objectOne = {
+ test: 'one',
+ iamone: true
+};
+
+var objectTwo = {
+ test: 2,
+ iamtwo: true
+};
+
+var objectThree = {
+ iamthree: true,
+ depth: {
+ innerType: 'deep'
+ }
+};
+
+var extended = extend(objectBase, objectOne);
+assert(extended.test === 'one');
+assert(extended.iamone === true);
+
+var moreExtended = extend(objectBase, objectOne, objectTwo);
+assert(moreExtended.test === 2);
+assert(moreExtended.iamone === true);
+assert(moreExtended.iamtwo === true);
+
+var deepExtended = extend(true, objectBase, objectOne, objectTwo, objectThree);
+assert(deepExtended.iamone === true);
+assert(moreExtended.iamtwo === true);
+assert(deepExtended.iamthree === true);
+assert(deepExtended.depth.innerType === 'one');
\ No newline at end of file
diff --git a/extend/extend.d.ts b/extend/extend.d.ts
new file mode 100644
index 0000000000..a6cb9151f7
--- /dev/null
+++ b/extend/extend.d.ts
@@ -0,0 +1,9 @@
+// Type definitions for Node.js v0.12.0
+// Project: http://nodejs.org/
+// Definitions by: Stefan Steinhart
+// Definitions: https://github.com/borisyankov/DefinitelyType
+declare module "extend" {
+
+ function extend(deepOrObject:boolean | Object, ...objectN: Object[]): any;
+ export = extend;
+}
\ No newline at end of file