implementing the Queue #1