add upper case read function