complete data_cache class