linked list
pointer
update Makefile