added data models with data caching