use struct instead of template alias for gcc4.6