add list.c and list.h