converted to connection pooling