this code is not work. :(
change union to struct