replaced enqueue, dequeue with push, pop