def k_depth(d, depth, _counter=1):
        """Iterate keys on specific depth.
        depth has to be greater equal than 0. 
        Usage reference see :meth:`DictTree.kv_depth()<DictTree.kv_depth>`
        """
        if depth == 0:
            yield d[_meta]["_rootname"]
        else:
            if _counter == depth:
                for key in DictTree.k(d):
                    yield key
            else:
                _counter += 1
                for node in DictTree.v(d):
                    for key in DictTree.k_depth(node, depth, _counter):
                        yield key