+added cache