cache items inside a pool to prevent allocation