Caching introduction

Caching implemented