added caching and throttling, smiles canonicalisation, and lots of bugfixes