refactor changes request pooling code a bit