interfaces with and caches data from