diff --git a/example/hash.dart b/example/hash.dart
index 0f79007..825d132 100644
--- a/example/hash.dart
+++ b/example/hash.dart
@@ -2,31 +2,33 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:io' show exit, File;
-import 'package:crypto/crypto.dart' show MD5, SHA1, SHA256, CryptoUtils;
+import 'dart:async';
+import 'dart:io';
 
-const USAGE = 'Usage: dart hash.dart <md5|sha1|sha256> <input_filename>';
+import 'package:crypto/crypto.dart';
 
-main(List<String> args) async {
+final _usage = 'Usage: dart hash.dart <md5|sha1|sha256> <input_filename>';
+
+Future main(List<String> args) async {
   if (args == null || args.length != 2) {
-    print(USAGE);
+    print(_usage);
     exit(1);
   }
 
-  var hasher;
+  Hash hasher;
 
   switch (args[0]) {
     case 'md5':
-      hasher = new MD5();
+      hasher = md5;
       break;
     case 'sha1':
-      hasher = new SHA1();
+      hasher = sha1;
       break;
     case 'sha256':
-      hasher = new SHA256();
+      hasher = sha256;
       break;
     default:
-      print(USAGE);
+      print(_usage);
       exit(1);
   }
 
@@ -38,11 +40,7 @@
     exit(1);
   }
 
-  await for (var bytes in input.openRead()) {
-    hasher.add(bytes);
-  }
+  var value = await hasher.bind(input.openRead()).first;
 
-  var hex = CryptoUtils.bytesToHex(hasher.close());
-
-  print(hex);
+  print(value);
 }
