added keyValue cache
variable timeout
added cache listener