Feature/add caching