now only accept negative or positive numbers