modified
rm Factory
modified
MemoryPool not use