add list.c list.h