update #6 add BufReader

& remove HexStr (use <RichInt>.toHexString instead of <HexStr>.toHex)