Uses a defaultdict now