Added persistent and flexiable cache structure