Implemented object pool pattern