this is handled by setdefault