improved bipartite