added heuristic