switch to SmartDataProvider and refined sync