no need for defaultdict now; you should run pyflake on this (or similar) to check for this sort of "lint".