heuristic added