updated heuristic