Use OrderedDict when available