added example for recursive struct