sovle the struct problem