fixed some data structure