adding dependencies and client side caching