must be number type