[BUG #7667] introduce DefaultOrderedDict and OrderedDict to preserve the insertion order