use defaultdict for candidates