adding support for connection pooling