diff --git a/lib/utils.js b/lib/utils.js
index <HASH>..<HASH> 100644
--- a/lib/utils.js
+++ b/lib/utils.js
@@ -2,12 +2,15 @@ var _ = require('lodash');
 
 function tryLoadName(name, lookupTable, thingKind) {
   // todo: consider passing in variables via a name like 'uglify:compress=true'
+  if (name === 'default') {
+    return tryLoadDefault(lookupTable, thingKind);
+  }
+  
   var parsed = parseName(name);
 
   var thing = lookupTable[parsed[0]];
   if (!thing) {
     throw new Error('Failed to resolve ' + name + ' ' + thingKind);
-    return;
   }
 
   if (typeof thing === 'function') {
@@ -18,6 +21,15 @@ function tryLoadName(name, lookupTable, thingKind) {
   return thing;
 }
 
+function tryLoadDefault(lookupTable, thingKind) {
+  var defaultName = lookupTable.default;
+  if (!defaultName) {
+    throw new Error('no default name specified for type: ' + thingKind);
+  }
+
+  return tryLoadName(defaultName, lookupTable, thingKind);
+}
+
 function parseName(name) {
   var splitName = name.split(':');
   if (splitName.length === 1) { return splitName };
add a concept of default to generators