fix strict aliasing