Made linked list really generic