added cache methods