refactored blame heuristic