heuristicValues() now returns a dictionary