added cache alternative PL
added cache implementation as alternative