added bipartite and complete methods