indirect
only struct is supported