obj pools & refactoring