The obtained codebook atoms vectors are extracted and then passed to the decoder. The gated recurrent unit (GRU) layer is applied to break up symmetrical atoms that have the same neighbourhood in the molecule. During GCN, these atoms receive the same updates and it is expected that they have the same properties. Thus, symmetric atoms have identical atomic vectors and any neural network cannot distinguish which neighbour to connect with the atom. Therefore, indexing of symmetric atoms is necessary, which currently requires ordering of atoms in decoder. The hidden states of GRU are then given through layer scale and residually summed with GRU input vectors. Next, codebook atoms vectors are passed to 12 selfattention blocks and, in the end, to defactorization and linear layers, which predict bonds matrix and atoms types, respectively.