Added an object pool implementation