byteio instead of stringIO