public function search($dir, $file, $depth = null, $depth_now = 0) {
		
		if (! isset($depth)) {
			$depth = $this->default_search_depth;
		}
		
		foreach( $this->glob($dir) as $item ) {
			
			if (false !== strpos($item, $file)) {
			
				// found file
				return $item;
			
			} else if ($depth_now < $depth && $this->ds === substr($item, -1)) {
				
				// recurse some more
				if ($found = $this->search($item, $file, $depth, $depth_now+1)) {
					
					// found in subdir
					return $found;
				}
			}
		}
		
		return null;
	}