text: """
      A queue is essentially an Abstract data type.
      (it is built on top of/ it is a super type of some datastructure: lists and linked-lists).
      It is an ADT because it defines the operations that could be performed
      on the datastructure without specifying the underlying data arrangement
      at the momory level.
  
      It is a First In First Out(FIFO) data structure that allows access to the
      data structure from both ends. The first element inserted is usually the first element removed.
      common operations are enqueue, dequeue and peek
  """