diff --git a/PlayBot/sites.pm b/PlayBot/sites.pm
index 1b09c2cc32c85d3107389f3f4296ccdbf3c17ec0..5c4eba61d7f72f2a952d1a698c002d03f936641f 100644
--- a/PlayBot/sites.pm
+++ b/PlayBot/sites.pm
@@ -22,28 +22,6 @@ our $log;
 our $regex;
 our $playbot_api_key;
 
-sub external_parse {
-    my $url = shift;
-
-    my $content = `./PlayBot.go "$url"`;
-    if ( $? >> 8 != 0 ) {
-        die "Error";
-    }
-
-    my ( $matched_url, $external_id, $url, $title, $author, $duration ) =
-      split( /\n/, $content );
-
-    return (
-        author      => $author,
-        external_id => $external_id,
-        duration    => $duration,
-        matched_url => $matched_url,
-        playlist    => 0,
-        site        => 'soundcloud',
-        title       => $title,
-        url         => $url,
-    );
-}
 
 sub parse {
     my ( $kernel, $user, $chan, $msg, $playlist ) = @_;
@@ -56,39 +34,33 @@ sub parse {
     my $matching_url;
     my @matching_tags;
 
-    eval { %content = external_parse($msg) };
-    if ($@) {
-        # parsing
-        foreach my $site ( __PACKAGE__->sites ) {
-            if ( not grep { $site eq "PlayBot::sites::$_" } @{ $chan_conf->sites } ) {
-            next;
-            }
-
-            my @args;
-            if ( @args = ( $msg =~ $site->regex ) ) {
-                eval { %content = $site->get(@args) };
-                $matching_url = $&;
-                $content{playlist} = 0;
-                last;
-            }
-            elsif ( $site->can('regex_playlist')
-                and @args = ( $msg =~ $site->regex_playlist ) )
-            {
-                eval { %content = $site->get_playlist(@args) };
-                $matching_url = $&;
-                $content{playlist} = 1;
-                last;
-            }
+    # parsing
+    foreach my $site ( __PACKAGE__->sites ) {
+        if ( not grep { $site eq "PlayBot::sites::$_" } @{ $chan_conf->sites } ) {
+        next;
         }
 
-        # something goes wrong ?
-        if ($@) {
-            $log->warning($@);
-            return;
+        my @args;
+        if ( @args = ( $msg =~ $site->regex ) ) {
+            eval { %content = $site->get(@args) };
+            $matching_url = $&;
+            $content{playlist} = 0;
+            last;
+        }
+        elsif ( $site->can('regex_playlist')
+            and @args = ( $msg =~ $site->regex_playlist ) )
+        {
+            eval { %content = $site->get_playlist(@args) };
+            $matching_url = $&;
+            $content{playlist} = 1;
+            last;
         }
-    } else {
-        $matching_url = $content{matched_url};
-        delete $content{matched_url};
+    }
+
+    # something goes wrong ?
+    if ($@) {
+        $log->warning($@);
+        return;
     }
 
     my $id;