Add MemoryPool
add test