enhanced .upper and .lower, see change log