Catherine, Princess of Wales praises 'amazing' Prince William