added data_ptr