Adding cache facility , work in progress