improve the limitation of the value range