def tree_probe(self, **kwargs):
        """
        Perform an os walk down a file system tree, starting from
        a **kwargs identified 'root', and return lists of files and 
        directories found.

        kwargs:
            root    = '/some/path'

        return {
            'status':   True,
            'l_dir':    l_dirs,
            'l_files':  l_files
        }

        """

        str_topDir  = "."
        l_dirs      = []
        l_files     = []
        b_status    = False
        str_path    = ''
        l_dirsHere  = []
        l_filesHere = []

        for k, v in kwargs.items():
            if k == 'root':  str_topDir  = v

        # for root, dirs, files in os.walk(str_topDir, followlinks = self.b_followLinks):
        for root, dirs, files in pftree.walklevel(str_topDir,
                                                  self.maxdepth, 
                                                  followlinks = self.b_followLinks):
            b_status = True
            str_path = root.split(os.sep)
            if dirs:
                l_dirsHere = [root + '/' + x for x in dirs]
                l_dirs.append(l_dirsHere)
                self.dp.qprint('Appending dirs to search space:\n', level = 3)
                self.dp.qprint("\n" + self.pp.pformat(l_dirsHere),  level = 3)
            if files:
                l_filesHere = [root + '/' + y for y in files]
                if len(self.str_inputFile):
                    l_hit = [s for s in l_filesHere if self.str_inputFile in s]
                    if l_hit: 
                        l_filesHere = l_hit
                    else:
                        l_filesHere = []
                if l_filesHere:
                    l_files.append(l_filesHere)
                self.dp.qprint('Appending files to search space:\n', level = 3)
                self.dp.qprint("\n" + self.pp.pformat(l_filesHere),  level = 3)
        return {
            'status':   b_status,
            'l_dir':    l_dirs,
            'l_files':  l_files
        }