refactor request queue