improve pooling process