def get_maze_centers(maze_path, maze_verts):
    """find the centre of each edge in maze_path and the co-ordinates of the
    maze verts - these will be matched to face after the selection is bevelled
    input:
        maze_path: list of BMEDges that form the links in the maze
    output:
        link_centers: list of (x, y, z) cordinates of link centers
        vert_centers: list of (x, y, z) cordinates of vert centers
    """
    # find centre of each edge in maze_path
    link_centers = []

    for edge in maze_path:
        x_co, y_co, z_co = zip(*[edge.verts[poi].co for poi in [0, 1]])
        x_av, y_av, z_av = sum(x_co)/len(x_co), sum(y_co)/len(y_co), sum(z_co)/len(z_co)
        link_centers.append((x_av, y_av, z_av))

    maze_verts_co = [list(v.co) for v in maze_verts]
    return link_centers, maze_verts_co