added heuristics