describe how pools work
pool allocate/release with tracking
pool iteration