added entity pooling