Principles of Physical Chemistry: Understanding Atoms, Molecules and Supramolecular Machines