longer example based on Changs toupper