hexadecimal support and validation