changing GenericLinkedList to utilize Interface