change cache logic...........too many times.....