before making structural change
refactore dict