input also modify