added cache support [closes #7]