First part of data models implementation with caching method