queue and linked list