readd cache check