added move constructor to data_struct