add queue and listener