with queue