add list.h and test