created a simple Pool objects to manage object pooling, added caching to speed it up and a test round it too