Use queue to iterate asynchronouslly