1. Check for existing data during runtime 2. only load new data that have not been loaded yet 3. merge datasets