adds cache option; fixes tests; updates documentation