better docs, added cache support