better read_data