added cache add behavior