always use hex string
Merge remote-tracking branch 'origin' into refactor_io