Added a memory pool implementation