enhance  and number type check.