code: def check(sentence):
      result = Feedback()
      is_missing_verb = detect_missing_verb(sentence)
      is_infinitive = detect_infinitive_phrase(sentence)
      is_participle = is_participle_clause_fragment(sentence)
      lang_tool_feedback = get_language_tool_feedback(sentence)
      subject_and_verb_agree = get_subject_verb_agreement_feedback(sentence)
      if is_missing_verb:
          result.matches['missing_verb'] = True 
          result.human_readable = MISSING_VERB_ADVICE.replace('\n', '') 
          result.primary_error = 'MISSING_VERB_ERROR'
          result.specific_error = 'MISSING_VERB'
      if is_participle > .5: 
          result.matches['participle_phrase'] = is_participle
          result.human_readable = PARTICIPLE_FRAGMENT_ADVICE.replace('\n', '')
          result.primary_error = 'FRAGMENT_ERROR'
          result.specific_error = 'PARTICIPLE_PHRASE'
      if lang_tool_feedback:
          result.matches['lang_tool'] = lang_tool_feedback
          for ltf in lang_tool_feedback:
              if ltf['rule']['id'] == 'SENTENCE_FRAGMENT':
                  result.human_readable = lang_tool_feedback[0]['message']
                  result.primary_error = 'FRAGMENT_ERROR'
                  result.specific_error = 'SUBORDINATE_CLAUSE'
      if is_infinitive:
          result.matches['infinitive_phrase'] = True 
          result.human_readable = INFINITIVE_PHRASE_ADVICE.replace('\n', '') 
          result.primary_error = 'INFINITIVE_PHRASE_ERROR'
          result.specific_error = 'INFINITIVE_PHRASE'
      if not subject_and_verb_agree:
          result.matches['subject_verb_agreement'] = subject_and_verb_agree
          result.human_readable = SUBJECT_VERB_AGREEMENT_ADVICE.replace('\n', '') 
          result.primary_error = 'SUBJECT_VERB_AGREEMENT_ERROR'
          result.specific_error = 'SUBJECT_VERB_AGREEMENT'
      if lang_tool_feedback:
          result.matches['lang_tool'] = lang_tool_feedback
          for ltf in lang_tool_feedback:
              if ltf['rule']['id'] == 'MORFOLOGIK_RULE_EN_US':
                  result.human_readable = ltf['message']
                  result.primary_error = 'SPELLING_ERROR'
                  result.specific_error = 'SPELLING_ERROR'
          if not result.primary_error:
              result.human_readable = ltf['message']
              result.primary_error = 'OTHER_ERROR'
              result.specific_error = ltf['rule']['id']
      if not result.matches:
          result.human_readable = STRONG_SENTENCE_ADVICE.replace('\n', '')
      return result