pool refactor for c++11