improve API access and caching