In this section, we will provide an overview of the design of ddX and its API, following along the steps of a typical ddX calculation. Afterward we provide some notes on the specific fast multipole (FMM) acceleration, which enabled us to achieve linear scaling for all implemented solvation models, as well as some notes on our means of distributing ddX.