including volatile and thread local