diff --git a/response-time/response-time-tests.ts b/response-time/response-time-tests.ts
new file mode 100644
index 0000000000..b65b8fd19c
--- /dev/null
+++ b/response-time/response-time-tests.ts
@@ -0,0 +1,12 @@
+///
+
+import express = require('express');
+import responseTime = require('response-time');
+var app = express();
+
+app.use(responseTime());
+app.use(responseTime({
+ digits: 3,
+ header: 'X-Response-Time',
+ suffix: true
+}));
diff --git a/response-time/response-time.d.ts b/response-time/response-time.d.ts
new file mode 100644
index 0000000000..ce9d41f5fe
--- /dev/null
+++ b/response-time/response-time.d.ts
@@ -0,0 +1,38 @@
+// Type definitions for response-time 2.2.0
+// Project: https://github.com/expressjs/response-time
+// Definitions by: Uros Smolnik
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+/* =================== USAGE ===================
+
+ import responseTime = require('response-time');
+ app.use(responseTime());
+
+ =============================================== */
+
+///
+
+declare module "response-time" {
+ import express = require('express');
+
+ /**
+ * Response time header for node.js
+ * Returns middleware that adds a X-Response-Time header to responses.
+ */
+ function responseTime(options?: {
+ /**
+ * The fixed number of digits to include in the output, which is always in milliseconds, defaults to 3 (ex: 2.300ms).
+ */
+ digits?: number;
+ /**
+ * The name of the header to set, defaults to X-Response-Time.
+ */
+ header?: string;
+ /**
+ * Boolean to indicate if units of measurement suffix should be added to the output, defaults to true (ex: 2.300ms vs 2.300).
+ */
+ suffix?: boolean;
+ }): express.RequestHandler;
+
+ export = responseTime;
+}
\ No newline at end of file
diff --git a/serve-favicon/serve-favicon-tests.ts b/serve-favicon/serve-favicon-tests.ts
new file mode 100644
index 0000000000..0f99a56fce
--- /dev/null
+++ b/serve-favicon/serve-favicon-tests.ts
@@ -0,0 +1,9 @@
+///
+
+import express = require('express');
+import favicon = require('serve-favicon');
+var app = express();
+
+app.use(favicon(__dirname + '/public/favicon.ico', {
+ maxAge: 86400000
+}));
diff --git a/serve-favicon/serve-favicon.d.ts b/serve-favicon/serve-favicon.d.ts
new file mode 100644
index 0000000000..bb19c2f69a
--- /dev/null
+++ b/serve-favicon/serve-favicon.d.ts
@@ -0,0 +1,29 @@
+// Type definitions for serve-favicon 2.1.6
+// Project: https://github.com/expressjs/serve-favicon
+// Definitions by: Uros Smolnik
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+/* =================== USAGE ===================
+
+ import serveFavicon = require('serve-favicon');
+ app.use(serveFavicon(__dirname + '/public/favicon.ico'));
+
+ =============================================== */
+
+///
+
+declare module "serve-favicon" {
+ import express = require('express');
+
+ /**
+ * Node.js middleware for serving a favicon.
+ */
+ function serveFavicon(path: string, options?: {
+ /**
+ * The cache-control max-age directive in ms, defaulting to 1 day. This can also be a string accepted by the ms module.
+ */
+ maxAge?: number;
+ }): express.RequestHandler;
+
+ export = serveFavicon;
+}
\ No newline at end of file
diff --git a/serve-static/serve-static-tests.ts b/serve-static/serve-static-tests.ts
new file mode 100644
index 0000000000..6b16e842b2
--- /dev/null
+++ b/serve-static/serve-static-tests.ts
@@ -0,0 +1,20 @@
+///
+
+import express = require('express');
+import serveStatic = require('serve-static');
+var app = express();
+
+app.use(serveStatic('/1'));
+app.use(serveStatic('/2', { }));
+app.use(serveStatic('/3', {
+ dotfiles: 'ignore',
+ etag: true,
+ extensions: ['html'],
+ index: true,
+ lastModified: true,
+ maxAge: 0,
+ redirect: true,
+ setHeaders: function(res: express.Response, path: string, stat: any) {
+ res.setHeader('Server', 'server-static middleware');
+ }
+}));
diff --git a/serve-static/serve-static.d.ts b/serve-static/serve-static.d.ts
new file mode 100644
index 0000000000..b116d43848
--- /dev/null
+++ b/serve-static/serve-static.d.ts
@@ -0,0 +1,79 @@
+// Type definitions for serve-static 1.7.1
+// Project: https://github.com/expressjs/serve-static
+// Definitions by: Uros Smolnik
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+/* =================== USAGE ===================
+
+ import serveStatic = require('serve-static');
+ app.use(serveStatic('public/ftp', {'index': ['default.html', 'default.htm']}))
+
+ =============================================== */
+
+///
+
+declare module "serve-static" {
+ import express = require('express');
+
+ /**
+ * Create a new middleware function to serve files from within a given root directory.
+ * The file to serve will be determined by combining req.url with the provided root directory.
+ * When a file is not found, instead of sending a 404 response, this module will instead call next() to move on to the next middleware, allowing for stacking and fall-backs.
+ */
+ function serveStatic(root: string, options?: {
+ /**
+ * Set how "dotfiles" are treated when encountered. A dotfile is a file or directory that begins with a dot (".").
+ * Note this check is done on the path itself without checking if the path actually exists on the disk.
+ * If root is specified, only the dotfiles above the root are checked (i.e. the root itself can be within a dotfile when when set to "deny").
+ * The default value is 'ignore'.
+ * 'allow' No special treatment for dotfiles
+ * 'deny' Send a 403 for any request for a dotfile
+ * 'ignore' Pretend like the dotfile does not exist and call next()
+ */
+ dotfiles?: string;
+
+ /**
+ * Enable or disable etag generation, defaults to true.
+ */
+ etag?: boolean;
+
+ /**
+ * Set file extension fallbacks. When set, if a file is not found, the given extensions will be added to the file name and search for.
+ * The first that exists will be served. Example: ['html', 'htm'].
+ * The default value is false.
+ */
+ extensions?: string[];
+
+ /**
+ * By default this module will send "index.html" files in response to a request on a directory.
+ * To disable this set false or to supply a new index pass a string or an array in preferred order.
+ */
+ index?: boolean;
+
+ /**
+ * Enable or disable Last-Modified header, defaults to true. Uses the file system's last modified value.
+ */
+ lastModified?: boolean;
+
+ /**
+ * Provide a max-age in milliseconds for http caching, defaults to 0. This can also be a string accepted by the ms module.
+ */
+ maxAge?: number;
+
+ /**
+ * Redirect to trailing "/" when the pathname is a dir. Defaults to true.
+ */
+ redirect?: boolean;
+
+ /**
+ * Function to set custom headers on response. Alterations to the headers need to occur synchronously.
+ * The function is called as fn(res, path, stat), where the arguments are:
+ * res the response object
+ * path the file path that is being sent
+ * stat the stat object of the file that is being sent
+ */
+ setHeaders?: (res: express.Response, path: string, stat: any) => any;
+ }): express.Handler;
+
+ export = serveStatic;
+}