The first state shows a global pointer named that is initially , colored red to indicate that it might be accessed by a reader at any time, thus requiring updaters to take care. Allocating memory for a new structure transitions to the second state. This structure has indeterminate state (indicated by the question marks) but is inaccessible to readers (indicated by the green color). Because the structure is inaccessible to readers, the updater may carry out any desired operation without fear of disrupting concurrent readers. Initializing this new structure transitions to the third state, which shows the initialized values of the structure's fields. Assigning a reference to this new structure to transitions to the fourth and final state. In this state, the structure is accessible to readers, and is therefore colored red. The primitive is used to carry out this assignment, and ensures that the assignment is atomic in the sense that concurrent readers will either see a pointer or a valid pointer to the new structure, but not some mash-up of the two values. Additional properties of are described later in this article.