more efficient queue