data structure change
refactor datastructure