implement queue using linked list