creative use of setdefault