added NumUtil