Updated pooling to be more performant and not rely on accessing objects directly, and to count less