Async/await
diff --git a/README.md b/README.md
index b06d3f8..ac6927e 100644
--- a/README.md
+++ b/README.md
@@ -9,13 +9,12 @@
 import 'package:shelf/shelf.dart' as shelf;
 import 'package:shelf/shelf_io.dart' as shelf_io;
 
-void main() {
+void main() async {
   // Both http://127.0.0.1:8080 and http://[::1]:8080 will be bound to the same
   // server.
-  HttpMultiServer.loopback(8080).then((server) {
-    shelf_io.serveRequests(server, (request) {
-      return shelf.Response.ok("Hello, world!");
-    });
+  var server = await HttpMultiServer.loopback(8080);
+  shelf_io.serveRequests(server, (request) {
+    return shelf.Response.ok("Hello, world!");
   });
 }
 ```
diff --git a/example/main.dart b/example/main.dart
index 3bc42b0..bf78a51 100644
--- a/example/main.dart
+++ b/example/main.dart
@@ -2,12 +2,11 @@
 import 'package:shelf/shelf.dart' as shelf;
 import 'package:shelf/shelf_io.dart' as shelf_io;
 
-void main() {
+void main() async {
   // Both http://127.0.0.1:8080 and http://[::1]:8080 will be bound to the same
   // server.
-  HttpMultiServer.loopback(8080).then((server) {
-    shelf_io.serveRequests(server, (request) {
-      return shelf.Response.ok("Hello, world!");
-    });
+  var server = await HttpMultiServer.loopback(8080);
+  shelf_io.serveRequests(server, (request) {
+    return shelf.Response.ok("Hello, world!");
   });
 }