still refactoring pool manager