def sectionWalker(section,callback,*args,walkTrace=tuple(),**kwargs):
        """
        callback needs to be a function that handles different 
        Section elements appropriately
        walkTrace needs to be a tuple, indicate the route to the section, e.g. (1,2,0)
        """
        callback(section,*args,walkTrace=walkTrace,case='sectionmain',**kwargs)
        c = count(1)
        for f in section.figs.items():
            callback(section,*args,walkTrace=walkTrace,case='figure',element=f,**kwargs)
        c = count(1)
        for t in section.tabs.items():
            callback(section,*args,walkTrace=walkTrace,case='table',element=t,**kwargs)
        c = count(1)
        for s in section.subs:
            Section.sectionWalker(s,callback,*args,walkTrace=walkTrace+(next(c),),**kwargs)
callback needs to be a function that handles different 
        Section elements appropriately
        walkTrace needs to be a tuple, indicate the route to the section, e.g. (1,2,0)