In ddX we provide implementations for these two steps in the case of solute densities based on point multipoles. This choice was mainly motivated by three factors: i) point multipoles cover a wide range of use cases, for example classical solutes described by a force field, or the nuclear point charges of QM solutes, ii) point multipoles of arbitrary order can be treated in a common mathematical formalism, iii) in ddX we have a tailored implementation of the FMM which can deal with spherical harmonics or multipoles of any order, which can thus be seamlessly employed to accelerate the computation in these steps. We remark that providing general implementations for other solute densities is more involved, especially for the case of quantum mechanical solutes, The variables model and state are passed to all subsequent functions, but this is not represented graphically for clarity. Note also that the solutions of the linear systems and many intermediate quantities are stored in the state variables, so an explicit return is missing. the expressions require the evaluation of electronic integrals and are basis set dependent, see the discussion in Section 4.2. As a result, these are strongly dependent on the host code, and we have opted to not treat this step inside ddX.