using typedef to fix T.name issues for ie9