tweaked caching