diff --git a/lib/src/inline_parser.dart b/lib/src/inline_parser.dart
index 6772c84..b46f5f9 100644
--- a/lib/src/inline_parser.dart
+++ b/lib/src/inline_parser.dart
@@ -274,7 +274,7 @@
   LinkSyntax({this.linkResolver, String pattern: r'\['})
     : super(pattern, end: linkPattern);
 
-  Node createNode(InlineParser parser, Match match, TagState state) {
+  Element createNode(InlineParser parser, Match match, TagState state) {
     // If we didn't match refLink or inlineLink, then it means there was
     // nothing after the first square bracket, so it isn't a normal markdown
     // link at all. Instead, we allow users of the library to specify a special
@@ -334,7 +334,7 @@
   }
 
   bool onMatchEnd(InlineParser parser, Match match, TagState state) {
-    Node node = createNode(parser, match, state);
+    Element node = createNode(parser, match, state);
     if (node == null) return false;
     parser.addNode(node);
     return true;
@@ -348,8 +348,8 @@
   ImageLinkSyntax({this.linkResolver})
     : super(pattern: r'!\[');
 
-  Node createNode(InlineParser parser, Match match, TagState state) {
-    Node node = super.createNode(parser, match, state);
+  Element createNode(InlineParser parser, Match match, TagState state) {
+    Element node = super.createNode(parser, match, state);
     if (node == null) return null;
 
     final Element imageElement = new Element.withTag("img")
diff --git a/pubspec.yaml b/pubspec.yaml
index ba3f4bc..d390e75 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: markdown
-version: 0.6.0
+version: 0.6.0+1
 author: Dart Team <misc@dartlang.org>
 description: A library for converting markdown to HTML.
 homepage: https://github.com/dpeek/dart-markdown
