anchor.diff:  }
   
   main_wrapped() {
  -    String inp = "A First Level Header\n====================\n\nA Second Level Header\n---------------------\n\nNow is the time for all good men to come to\nthe aid of their `country`. This is just a\nre_gu_lar paragraph.\n\nThe quick brown fox jumped over the lazy\ndog's back.\n\n### Header 3\n\n> This is a blockquote.\n> \n> This is the second paragraph in the blockquote.\n>\n> ## This is an H2 in a blockquote\n\n    code block\n    second line code block\n- this is\n- elements in\n- a list\n[Link Text](http://google.com)";
  +    String inp = "A First Level Header\n====================\n\nA Second Level Header\n---------------------\n\nNow is the time for all good men to come to\nthe aid of their `country`. This is just a\nre_gu_lar paragraph.\n\nThe quick brown fox jumped over the lazy\ndog's back.\n\n### Header 3\n\n> This is a blockquote.\n> \n> This is the second paragraph in the blockquote.\n>\n> ## This is an H2 in a blockquote\n\n    code block\n    second line code block\n- this is\n- elements in\n- a list\n[Link Text](http://google.com)\n![alt text](http://static.paphus.com/gifs/6KAiUQl.gif)";
       print(markdown_to_html(inp));
   }
  
positive.code:     RegExp backslash_asterix = new RegExp(r"\\(\*)");
      RegExp backslash_underscore = new RegExp(r"\\(_)");
  
      RegExp link = new RegExp(r"\[([^\]]+)\]\(([^)]+)\)");
      
      regular_expressions.add(new markdown_regex(single_asterix, (Match found) {
                  return new markdown_emphasis(found.group(1));
  
negative.code:     }
  }
  
  class markdown_image extends markdown_node {
      String link;
      String alt_text;
      String title;
      markdown_image(String _link, String _alt_text, String _title) : super() {
          link = _link;
          alt_text = _alt_text;
          title = _title;
      }
  
      String generate_html() {
          return "<img src=\"${link}\" alt=\"${alt_text}\" title=\"${title}\" />";
      }
  }
  
  /** 
   * Convert markdown to HTML
   * 
  