todo: cache - check if already loaded, parsed and saved data