add data event listener