def METHOD_NAME(meshEntry,srcdesConnection):
    global pygraphvizFound_
    positionInfo = {}
    if not pygraphvizFound_:
        print( '[warn] python-pygraphviz could not be found.' )
        print( '\tMOOSE Install pygraphviz to use this feature' )
        return positionInfo
    if meshEntry:
        #G = nx.Graph()
        G = pgv.AGraph()
        for cmpt,memb in list(meshEntry.items()):
            for enzObj in find_index(memb,'enzyme'):
                #G.add_node(enzObj.path)
                G.add_node(enzObj.path,label='',shape='ellipse',color='',style='filled',fontname='Helvetica',fontsize=12,fontcolor='blue')
        for cmpt,memb in list(meshEntry.items()):
            for poolObj in find_index(memb,'pool'):
                #G.add_node(poolObj.path)
                G.add_node(poolObj.path,label = poolObj.name,shape = 'box',color = '',style = 'filled',fontname = 'Helvetica',fontsize = 12,fontcolor = 'blue')
            for cplxObj in find_index(memb,'cplx'):
                G.add_node(cplxObj.path)
                G.add_node(cplxObj.path,label = cplxObj.name,shape = 'box',color = '',style = 'filled',fontname = 'Helvetica',fontsize = 12,fontcolor = 'blue')
                #G.add_edge((cplxObj.parent).path,cplxObj.path)
            for reaObj in find_index(memb,'reaction'):
                #G.add_node(reaObj.path)
                G.add_node(reaObj.path,label='',shape='circle',color='')
        for inn,out in list(srcdesConnection.items()):
            if (inn.className =='ZombieReac'): arrowcolor = 'green'
            elif(inn.className =='ZombieEnz'): arrowcolor = 'red'
            else: arrowcolor = 'blue'
            if isinstance(out,tuple):
                if len(out[0])== 0:
                    print( inn.className + ':' +inn.name + "  doesn't have input message")
                else:
                    for items in (items for items in out[0] ):
                        G.add_edge(moose.element(items[0]).path,inn.path)
                if len(out[1]) == 0:
                    print(inn.className + ':' + inn.name + " doesn't have output mssg")
                else:
                    for items in (items for items in out[1] ):
                        G.add_edge(inn.path,moose.element(items[0]).path)
            elif isinstance(out,list):
                if len(out) == 0:
                    print ("Func pool doesn't have sumtotal")
                else:
                    for items in (items for items in out ):
                        G.add_edge(moose.element(items[0]).path,inn.path)
        # if int( nx.__version__.split( '.' )[-1] ) >= 11:
        #     position = nx.spring_layout( G )
        # else:
        #     position = nx.graphviz_layout(G, prog = 'dot')
        # for item in position.items():
        #     xy = item[1]
        #     ann = moose.Annotator(item[0]+'/info')
        #     ann.x = xy[0]
        #     ann.y = xy[1]
        #     positioninfo[(moose.element(item[0]))] ={'x':float(xy[0]),'y':float(xy[1])}
        G.layout()
        for n in G.nodes():
            value = str(n.attr['pos'])
            valuelist = (value.split(','))
            positionInfo[(moose.element(n))] ={'x':float(valuelist[0]),'y':float(valuelist[1])}
            ann = moose.Annotator(moose.element(n).path+'/info')
            ann.x = float(valuelist[0])
            ann.y = float(valuelist[1])
    return positionInfo