docs: function next() {
  		var module;
  
  		if (pool.queue.length <= 0) {
  			if (pool.install.length) {
  				error('Update needed: ' + pool.install.map(function(module) {
  					return module.name;
  				}).join(', '));
  			}
  			else {
  				wanted.emit('ready', pool.processed.map(shallow));
  			}
  
  			return reset();
  		}
  
  		module = pool.queue.shift();
  
  		fileExists(module.path + '/package.json', function(file) {
  			var json;
  
  			if (file) {
  				json = require(file);
  				module.installed = json.version;
  				module.upgrade   = !semver.satisfies(json.version, module.version);
  			}
  
  			if (!module.installed || module.upgrade) {
  				request(module);
  			}
  			else {
  				module.current = true;
  				wanted.emit('current', shallow(module));
  
  				processed(module);
  			}
  		});
  	}