create basic object pool infrastructure