add substruct