Convert to pool in listener