fixed to pass struct test