change cache idea
add modification for cache