docs: function File(from, to) {
  	var cached, dirname, external, local, source, resolved;
  
  	resolved = _resolve(from, to);
  
  	if (cached = cache[resolved]) {
  		return cached;
  	}
  
  	if (!fs.existsSync(resolved)) {
  		throw new Error('File "' + resolved + '" not found');
  	}
  
  	this.path = resolved;
  
  	dirname = path.dirname(resolved);
  	local = this.local = {};
  	external = this.external = [];
  	source = this.source = fs.readFileSync(resolved);
  
  	each(detective(source), function(to) {
  		if (~to.indexOf('/')) {
  			local[to] = _resolve(dirname, to)
  		}
  		else {
  			external.push(to);
  		}
  	});
  
  	cache[resolved] = this;
  }