change setValue -> setState