first version of client side caching