fix bug
change data structure.