data provider done