fix: revert to custom caching