diff --git plugins/lyrics/lyrics/DarkLyricsParser.py plugins/lyrics/lyrics/DarkLyricsParser.py
new file mode 100644
index 0000000..0928bf0
--- /dev/null
+++ plugins/lyrics/lyrics/DarkLyricsParser.py
@@ -0,0 +1,88 @@
+# -*- Mode: python; coding: utf-8; tab-width: 8; indent-tabs-mode: t; -*-
+#
+# Copyright (C) 2008 Edgar Luna
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA.
+
+import urllib
+import re
+import rb
+
+class DarkLyricsParser (object):
+	def __init__(self, artist, title):
+		self.artist = artist
+		self.title = title
+
+	def search(self, callback, *data):
+		"""We request a especific url based on artist's name."""
+		# Fix artist name first with unicodedata
+		#unichr(int(decomposition(u"ÿ").split()[0], 16))
+		self.wartist = re.sub('%20', '', urllib.quote(self.artist)).lower()
+		print "Received Name: %s, Fixed Name: %s." % (self.artist, self.wartist)
+		url = 'http://www.darklyrics.com/%s/%s.html' % (self.wartist[0], self.wartist)
+		loader = rb.Loader()
+		loader.get_url (url, self.search_song, callback, *data)
+
+	def search_song (self, songlist, callback, *data):
+		"""If artist's page is found, search_song looks for the song.
+
+		The artist page contains a list of all the albums and
+		links to the songs lyrics from this.
+		"""
+		if songlist is None:
+			callback (None, *data)
+			return
+
+		pattern = '<a href="../lyrics/%s/(.*).html#([^"])+" target="_blank"><FONT COLOR="#CCCCCC">%s</FONT></a><br>' \
+		    % (self.wartist, self.title.title())
+		matches = re.findall (pattern, songlist)
+		if matches:
+			self.album = matches[0][0]
+			self.titlenumber = matches[0][1]
+			url = 'http://www.darklyrics.com/lyrics/%s/%s.html' % (self.wartist, self.album)
+			loader = rb.Loader ()
+			loader.get_url (url, self.parse_lyrics, callback, *data)
+		else:
+			callback (None, *data)
+			return
+
+	def parse_lyrics (self, album, callback, *data):
+		"""In the album's page parse_lyrics get the lyrics of the song.
+
+		This page contains all the lyrics for self.album, but
+		this method get rides of everything that isn't the
+		lyrics of self.title"""
+		if album is None:
+			callback (None, *data)
+			return
+
+		titleline = '(?ms)<a name=%s><FONT color=#DDDDDD><b>%s. %s</b></font>(.+?)<a' % \
+		    (self.titlenumber, self.titlenumber, self.title.title())
+		lyricmatch = re.split (titleline, album)
+
+		if len (lyricmatch) > 1:
+			lyrics = lyricmatch[1]
+			lyrics = lyrics.replace ('\r', "")
+			lyrics = re.sub (r'<.*?>', "", lyrics)
+			lyrics = lyrics.strip ("\n")
+			title = "%s - %s\n\n" % (self.artist, self.title.title())
+
+			lyrics = title + str (lyrics)
+			lyrics += "\n\nLyrics provided by Dark Lyrics"
+			callback (lyrics, *data)
+		else:
+			callback (None, *data)
+			reutrn
+
diff --git plugins/lyrics/lyrics/LyricsParse.py plugins/lyrics/lyrics/LyricsParse.py
index d120d5b..fb31fd8 100644
--- plugins/lyrics/lyrics/LyricsParse.py
+++ plugins/lyrics/lyrics/LyricsParse.py
@@ -28,14 +28,15 @@ from AstrawebParser import AstrawebParser
 from LeoslyricsParser import LeoslyricsParser
 from LyricWikiParser import LyricWikiParser
 from WinampcnParser import WinampcnParser
-
+from DarkLyricsParser import DarkLyricsParser
 
 engines_map = {
 	'lyrc.com.ar': LyrcParser,
 	'astraweb.com': AstrawebParser,
 	'leoslyrics.com': LeoslyricsParser,
 	'lyricwiki.org': LyricWikiParser,
-	'winampcn.com': WinampcnParser
+	'winampcn.com': WinampcnParser,
+	'darklyrics.com': DarkLyricsParser
 }
 
 
@@ -53,6 +54,7 @@ class Parser (object):
 			self.engines = []
 
 	def searcher(self, plexer, callback, *data):
+		print self.engines
 		for e in self.engines:
 			plexer.clear()
 			if e in engines_map:
diff --git plugins/lyrics/lyrics/Makefile.am plugins/lyrics/lyrics/Makefile.am
index 87bf6f4..6d89198 100644
--- plugins/lyrics/lyrics/Makefile.am
+++ plugins/lyrics/lyrics/Makefile.am
@@ -9,4 +9,5 @@ plugin_PYTHON =				\
        AstrawebParser.py		\
        LeoslyricsParser.py		\
        LyricWikiParser.py		\
-       WinampcnParser.py
+       WinampcnParser.py		\
+       DarkLyricsParser.py
