upperId has been changed to only use isUpper because an non alphabetical character would be false anyway