recursion and wildcards working