An Algorithm for the Graph Crossing Number Problem