implement save
refactoring Data_Get_Struct