updated with working json caching. probably.