diff --git a/lib/index.js b/lib/index.js
index <HASH>..<HASH> 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -18,9 +18,12 @@ var Path = require('path'),
 module.exports = function(options) {
 
   if(!options.adapter) throw new Error('Must supply an adapter');
+  if(!options.interfaces) throw new Error('Must supply a list of supported interfaces');
+  if(!Array.isArray(options.interfaces)) throw new Error('Must supply a list of supported interfaces');
 
   this.adapter = options.adapter;
   this.config = options.config || {};
+  this.interfaces = options.interfaces;
 
   // Attach config to adapter
   this.adapter.config = this.config;
@@ -30,7 +33,13 @@ module.exports = function(options) {
 
   // Build an array of files to test
   var filter = '\\.(' + ['js'].join('|') + ')$';
-  var files = utils.fileLookup(Path.resolve(__dirname,'../interfaces'), filter, true);
+
+  var files = [];
+
+  this.interfaces.forEach(function(interface) {
+    var interfacePath = Path.resolve(__dirname,'../interfaces/' + interface);
+    files = files.concat(utils.fileLookup(interfacePath, filter, true));
+  });
 
   // Build a Mocha Runner
   var test = new mocha();
allow adapters to define what interface they support