updated tohex function