fix a bug & improve the dic