added linked list structure