switched to AtomicReferenceArray for ioc state