code formatting

and an initial setup for caching variables later.  I.e. if the same
molecular formular is used (whether rewritten differently), the
variables are cached and able to be re-used