changed linked list and added generalized hash map.