added cache timeout