upcase recursion