includes data caching and many more options