pass struct works