adding enqueue and dequeue