added upper2lower