Pool refactor