add data_observer