stuct type check