1.provide similiar function as OrderedDict; 2.allow duplicated  key:value