diff --git a/moment-timezone/moment-timezone-tests.ts b/moment-timezone/moment-timezone-tests.ts
new file mode 100644
index 0000000000..f6a754c6e7
--- /dev/null
+++ b/moment-timezone/moment-timezone-tests.ts
@@ -0,0 +1,44 @@
+///
+
+import moment = require('moment-timezone');
+
+var june = moment("2014-06-01T12:00:00Z");
+june.tz('America/Los_Angeles').format('ha z');
+
+var a = moment.tz("2013-11-18 11:55", "America/Toronto");
+var b = moment.tz("May 12th 2014 8PM", "MMM Do YYYY hA", "America/Toronto");
+var c = moment.tz(1403454068850, "America/Toronto");
+
+var arr = [2013, 5, 1],
+ str = "2013-12-01",
+ obj = { year : 2013, month : 5, day : 1 };
+
+moment.tz(arr, "America/Los_Angeles");
+moment.tz(str, "America/Los_Angeles");
+moment.tz(obj, "America/Los_Angeles");
+
+moment.tz.zone('America/Los_Angeles').abbr(1403465838805);
+moment.tz.zone('America/Los_Angeles').offset(1403465838805);
+
+var zone = moment.tz.zone('America/New_York');
+zone.parse(Date.UTC(2012, 2, 19, 8, 30)); // 240
+
+moment.tz.add('America/Los_Angeles|PST PDT|80 70|0101|1Lzm0 1zb0 Op0');
+moment.tz.add([
+ 'America/Los_Angeles|PST PDT|80 70|0101|1Lzm0 1zb0 Op0',
+ 'America/New_York|EST EDT|50 40|0101|1Lz50 1zb0 Op0'
+]);
+
+moment.tz.link('America/Los_Angeles|US/Pacific');
+moment.tz.link([
+ 'America/Los_Angeles|US/Pacific',
+ 'America/New_York|US/Eastern'
+]);
+
+moment.tz.load({
+ zones : [],
+ links : [],
+ version : '2014e'
+});
+
+moment.tz.names();
diff --git a/moment-timezone/moment-timezone.d.ts b/moment-timezone/moment-timezone.d.ts
new file mode 100644
index 0000000000..9553faa3ad
--- /dev/null
+++ b/moment-timezone/moment-timezone.d.ts
@@ -0,0 +1,56 @@
+// Type definitions for moment-timezone.js 0.2.5
+// Project: http://momentjs.com/timezone/
+// Definitions by: Michel Salib
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+interface Moment {
+ tz(timezone: string): Moment;
+}
+
+interface MomentZone {
+ name: string;
+ abbrs: string[];
+ untils: number[];
+ offsets: number[];
+
+ abbr(timestamp: number): string;
+ offset(timestamp: number): number;
+ parse(timestamp: number): number
+}
+
+interface MomentTimezone {
+ (date: number, timezone: string): Moment;
+ (date: number[], timezone: string): Moment;
+ (date: string, format: string, timezone: string): Moment;
+ (date: Date, timezone: string): Moment;
+ (date: Moment, timezone: string): Moment;
+ (date: Object, timezone: string): Moment;
+
+ zone(timezone: string): MomentZone;
+
+ add(packedZoneString: string): void;
+ add(packedZoneString: string[]): void;
+
+ link(packedLinkString: string): void;
+ link(packedLinkString: string[]): void;
+
+ load(data: {
+ version: string;
+ links: string[];
+ zones: string[];
+ }): void;
+
+ names(): string[];
+}
+
+interface MomentStatic {
+ tz: MomentTimezone;
+}
+
+declare module 'moment-timezone' {
+ var _tmp: MomentStatic;
+
+ export = _tmp;
+}