added cache parameter