An Algorithm For Improving Graph Partitions