complex struct introduced