docs: function _extractFiles (dir, callback) {
  
  			if ("undefined" === typeof dir) {
  				throw new ReferenceError("missing \"directory\" argument");
  			}
  				else if ("string" !== typeof dir) {
  					throw new TypeError("\"directory\" argument is not a string");
  				}
  				else if ("" === dir.trim()) {
  					throw new Error("\"directory\" argument is empty");
  				}
  			else if ("undefined" === typeof callback) {
  				throw new ReferenceError("missing \"callback\" argument");
  			}
  				else if ("function" !== typeof callback) {
  					throw new TypeError("\"callback\" argument is not a function");
  				}
  			else {
  
  				const _dir = dir.trim();
  
  				isDirectoryProm(_dir).then((exists) => {
  					return exists ? Promise.resolve() : Promise.reject(new Error("\"" + _dir + "\" is not a valid directory"));
  				}).then(() => {
  
  					readdir(_dir, (_err, files) => {
  						return _err ? callback(_err) : _extractRealFiles(_dir, files, [], callback);
  					});
  
  				}).catch(callback);
  
  			}
  
  		}