Changed the whole Cursor to lazy loading with caches