enqueue dequeue edge cases handled