Adding caching
Adding first operations