watch data source changes