cacheProvider has been rethinked + guava dependancy added