typedefd, nested structs are the devil