resolve strict aliasing rule problem