linked list and nodes defined