add data struct basic