changed listener interface and added notify implementations in data providers