Core Concepts in Supramolecular Chemistry and Nanochemistry by David R. Turner, Jonathan W. Steed & Karl Wallace