Nanoparticles can self-assemble as a result of their intermolecular forces. As systems look to minimize their free energy, self-assembly is one option for the system to achieve its lowest free energy thermodynamically. Nanoparticles can be programmed to self-assemble by changing the functionality of their side groups, taking advantage of weak and specific intermolecular forces to spontaneously order the particles. These direct interparticle interactions can be typical intermolecular forces such as hydrogen bonding or Van der Waals forces, but can also be internal characteristics, such as hydrophobicity or hydrophilicity. For example, lipophilic nanoparticles have the tendency to self-assemble and form crystals as solvents are evaporated. While these aggregations are based on intermolecular forces, external factors such as temperature and pH also play a role in spontaneous self-assembly.