redesign data structure