abstracted out the queue method from enuerate