v1.8 added number range check