finish the Queue class