documentation improvements

- shorter explanation in readme
- jsdocs improved
- ensuring to check for `cache` before caching (as it did before)