support struct convert