beter data_list_t handling