Data Loading Algorithm