diff --git a/cheerio/cheerio-old-test.ts b/cheerio/cheerio-old-test.ts
new file mode 100644
index 000000000..99b351165
--- /dev/null
+++ b/cheerio/cheerio-old-test.ts
@@ -0,0 +1,65 @@
+///
+
+import cheerio = require("cheerio");
+
+var $ = cheerio.load("");
+var $el = $('selector');
+var $multiEl = $('seletor', 'selector', 'selector');
+
+$el.addClass("class").addClass("test");
+$el.hasClass("test");
+$el.removeClass("class").removeClass("test");
+
+$el.attr('class');
+$el.attr('class', 'test');
+$el.removeAttr("class").removeAttr("test");
+
+$el.find("ul").find("> li");
+
+$el.parent().parent();
+$el.next().next();
+$el.prev().prev();
+$el.siblings().siblings();
+
+$el.children().children();
+$el.children("li").children("a");
+
+$el.children().each((index, element) => {
+ return $(element).find('t');
+});
+
+$el.children().map((index, element) => {
+ return $(element).find('t');
+});
+
+$el.children().filter((index) => {
+ return $el.children().eq(index).find('t');
+});
+
+$el.filter('span').filter('li');
+
+$el.first().last().find('t');
+
+$('div').eq(0).find('b');
+
+$('#id').append("test html", "other html").find('a');
+$('#id').prepend("test html", "other html").find('a');
+$('#id').after("test html", "other html").find('a');
+$('#id').before("test html", "other html").find('a');
+
+$el.remove('div').remove('a');
+
+$('#id').replaceWith('some html').parent();
+$('#id').empty().parent();
+
+$el.html();
+$el.html("").find('div');
+
+$el.text();
+$el.text('some text');
+
+$el.toArray();
+$el.clone().find('a').parent();
+$el.root().find('a');
+
+$el.dom();
\ No newline at end of file
diff --git a/cheerio/cheerio-old.d.ts b/cheerio/cheerio-old.d.ts
new file mode 100644
index 000000000..8b9542b92
--- /dev/null
+++ b/cheerio/cheerio-old.d.ts
@@ -0,0 +1,81 @@
+// Type definitions for Cheerio
+// Project: https://github.com/MatthewMueller/cheerio
+// Definitions by: Bret Little
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+
+interface Cheerio {
+
+ addClass(classNames: string): Cheerio;
+ hasClass(className: string): boolean;
+ removeClass(className?: any): Cheerio;
+
+ attr(attributeName: string, value: any): Cheerio;
+ attr(attributeName: string): string;
+ removeAttr(attributeName: any): Cheerio;
+
+ find(selector: string): Cheerio;
+
+ parent(): Cheerio;
+
+ next(): Cheerio;
+ prev(): Cheerio;
+
+ siblings(): Cheerio;
+
+ children(selector?: any): Cheerio;
+
+ each(func: (index: any, elem: any) => Cheerio);
+
+ map(callback: (index: any, domElement: Element) =>any): Cheerio;
+
+ filter(selector: string): Cheerio;
+ filter(func: (index: any) =>any): Cheerio;
+
+ first(): Cheerio;
+ last(): Cheerio;
+
+ eq(index: number): Cheerio;
+
+ append(...content: any[]): Cheerio;
+ prepend(...content: any[]): Cheerio;
+ after(...content: any[]): Cheerio;
+ before(...content: any[]): Cheerio;
+ remove(selector: string): Cheerio;
+ replaceWith(content: string): Cheerio;
+ empty(): Cheerio;
+
+ html(htmlString: string): Cheerio;
+ html(): string;
+
+ text(textString: string): Cheerio;
+ text(): string;
+
+ toArray(): any[];
+
+ clone() : Cheerio;
+ root() : Cheerio;
+ dom(): any;
+
+ contains(container: Element, contained: Element): boolean;
+ isArray(obj: any): boolean;
+ inArray(value: any, array: any[], fromIndex?: number): number;
+ merge(first: any[], second: any[]): any[];
+
+
+}
+
+interface CheerioOptionsInterface {
+ ignoreWhitespace?: boolean;
+ xmlMode?: boolean;
+ lowerCaseTags?: boolean;
+}
+
+interface CheerioStatic {
+ (...selectors: any[]): Cheerio;
+ (): Cheerio;
+}
+
+declare module "cheerio" {
+ export function load (html : string, options?: CheerioOptionsInterface) : CheerioStatic;
+}
\ No newline at end of file