start generalizing pooling object