cache and tests