add QueueItem and create more test cases to use enqueue, dequeue, and size functions