add list data struct