design data structure