diff --git a/src/Microsoft.AspNet.Abstractions/Extensions/UseExtensions.cs b/src/Microsoft.AspNet.Abstractions/Extensions/UseExtensions.cs
new file mode 100644
index 0000000000..698b19ca5c
--- /dev/null
+++ b/src/Microsoft.AspNet.Abstractions/Extensions/UseExtensions.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Threading.Tasks;
+using Microsoft.AspNet.Abstractions;
+
+namespace Microsoft.AspNet
+{
+ public static class UseExtensions
+ {
+ ///
+ /// Use middleware defined in-line.
+ ///
+ ///
+ /// A function that handles the request or calls the given next function.
+ ///
+ public static IBuilder Use(this IBuilder app, Func, Task> middleware)
+ {
+ return app.Use(next =>
+ {
+ return context =>
+ {
+ Func simpleNext = () => next(context);
+ return middleware(context, simpleNext);
+ };
+ });
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Microsoft.AspNet.Abstractions/Microsoft.AspNet.Abstractions.kproj b/src/Microsoft.AspNet.Abstractions/Microsoft.AspNet.Abstractions.kproj
index 83c250addc..0b62b9b387 100644
--- a/src/Microsoft.AspNet.Abstractions/Microsoft.AspNet.Abstractions.kproj
+++ b/src/Microsoft.AspNet.Abstractions/Microsoft.AspNet.Abstractions.kproj
@@ -28,6 +28,7 @@
+