much better heuristic. 2055 lines