added linked list initial implementation