added linked list and rabin karp