With the configuration of the basis determined, the next step is to generate a guess. This could be an even-tempered expansion, a reference basis from the Basis Set Exchange, or even randomly generated numbers in a given interval. Finally, the setup checks that there is a suitable reference for whatever the objective function will be (which is dependent on the Strategy). Once the setup is complete, for an AtomicBasis, the optimization is as simple as calling optimize; for other basis set types, additional steps could be added, for example to perform optimizations across multiple atom types or multiple molecules.