diff --git a/quadrapassel/blockops.cpp b/quadrapassel/blockops.cpp
index 411be19..d7441d3 100644
--- a/quadrapassel/blockops.cpp
+++ b/quadrapassel/blockops.cpp
@@ -28,7 +28,7 @@
 #include <clutter-gtk/clutter-gtk.h>
 #include "tetris.h"
 
-#define FONT "Sans Bold"
+#define FONT "Sans"
 
 gboolean
 BlockOps::move_end (ClutterTimeline *time, BlockOps *f)
@@ -804,20 +804,20 @@ BlockOps::drawMessage()
 	pango_layout_get_size (dummy_layout, &lw, &lh);
 	g_object_unref (dummy_layout);
 
-	// desired height : lh = widget width * 0.9 : lw
-	pango_font_description_set_absolute_size (desc, ((float) lh / lw) * PANGO_SCALE * width * 0.8);
+	// desired height : lh = widget width * 0.7 : lw
+	pango_font_description_set_absolute_size (desc, ((float) lh / lw) * PANGO_SCALE * width * 0.7);
 	pango_layout_set_font_description (layout, desc);
 	pango_font_description_free (desc);
 
 	pango_layout_get_size (layout, &lw, &lh);
 	cairo_move_to (cr, -((double)lw / PANGO_SCALE) / 2, -((double)lh / PANGO_SCALE) / 2);
 	pango_cairo_layout_path (cr, layout);
-	cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-	cairo_fill_preserve (cr);
-	cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
+	cairo_set_source_rgb (cr, 0.333333333333, 0.341176470588, 0.32549019607);
 	/* A linewidth of 2 pixels at the default size. */
-	cairo_set_line_width (cr, width/220.0);
-	cairo_stroke (cr);
+	cairo_set_line_width (cr, width/100.0);
+	cairo_stroke_preserve (cr);
+	cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
+	cairo_fill (cr);
 
 	g_object_unref(layout);
 	cairo_destroy (cr);
diff --git a/quadrapassel/renderer.cpp b/quadrapassel/renderer.cpp
index 66ff06d..cc369f5 100644
--- a/quadrapassel/renderer.cpp
+++ b/quadrapassel/renderer.cpp
@@ -30,6 +30,7 @@
 const ThemeTableEntry ThemeTable[] = {{N_("Plain"), "plain"},
 				      {N_("Tango Flat"), "tangoflat"},
 				      {N_("Tango Shaded"), "tangoshaded"},
+				      {N_("Clean"), "clean"},
 				      {NULL, NULL}};
 
 
@@ -57,6 +58,9 @@ Renderer * rendererFactory (guint id)
 {
 	Renderer *r;
 	switch (id) {
+	case 3:
+		r = new CleanBlock ();
+		break;
 	case 2:
 		r = new TangoBlock (TRUE);
 		break;
@@ -95,6 +99,78 @@ void Renderer::drawCell (cairo_t *cr, guint color)
 	cairo_paint (cr);
 }
 
+
+CleanBlock::CleanBlock () : Renderer ()
+{
+}
+
+void CleanBlock::drawCell (cairo_t *cr, guint color)
+{
+	cairo_pattern_t *pat = NULL;
+	/* The colors, first the lighter then the darker fill (for the gradient)
+	   and then the stroke color  */
+	const gdouble colours[8][3][3] = {
+					  {{0.780392156863, 0.247058823529, 0.247058823529},
+					   {0.713725490196, 0.192156862745, 0.192156862745},
+					   {0.61568627451, 0.164705882353, 0.164705882353}}, /* red */
+
+					  {{0.552941176471, 0.788235294118, 0.32549019607},
+					   {0.474509803922, 0.713725490196, 0.243137254902},
+					   {0.388235294118, 0.596078431373, 0.18431372549}}, /* green */
+
+					  {{0.313725490196, 0.450980392157, 0.623529411765},
+					   {0.239215686275, 0.345098039216, 0.474509803922},
+					   {0.21568627451, 0.313725490196, 0.435294117647}}, /* blue */
+
+					  {{1.0, 1.0, 1.0},
+					   {0.909803921569, 0.909803921569, 0.898039215686},
+					   {0.701960784314, 0.701960784314, 0.670588235294}}, /* white */
+
+					  {{0.945098039216, 0.878431372549, 0.321568627451},
+					   {0.929411764706, 0.839215686275, 0.113725490196},
+					   {0.760784313725, 0.682352941176, 0.0274509803922}}, /* yellow */
+
+					  {{0.576470588235, 0.364705882353, 0.607843137255},
+					   {0.443137254902, 0.282352941176, 0.46666666666},
+					   {0.439215686275, 0.266666666667, 0.46666666666}}, /* purple */
+
+					  {{0.890196078431, 0.572549019608, 0.258823529412},
+					   {0.803921568627, 0.450980392157, 0.101960784314},
+					   {0.690196078431, 0.388235294118, 0.0901960784314}}, /* orange */
+
+					  {{0.392156862745, 0.392156862745, 0.392156862745},
+					   {0.262745098039, 0.262745098039, 0.262745098039},
+					   {0.21568627451, 0.235294117647, 0.23921568627}} /* grey */
+					 };
+
+	color = CLAMP (color, 0, 6);
+
+	/* Layout the block */
+	drawRoundedRectangle (cr, 0.05, 0.05, 0.9, 0.9, 0.05);
+
+	/* Draw outline */
+	cairo_set_source_rgb(cr, colours[color][2][0],
+			     colours[color][2][1],
+			     colours[color][2][2]);
+
+	cairo_set_line_width (cr, 0.1);
+	cairo_stroke_preserve (cr);
+
+
+	/* Create fill gradient */
+	pat = cairo_pattern_create_linear (0.35, 0, 0.55, 0.9);
+	cairo_pattern_add_color_stop_rgb (pat, 0.0, colours[color][0][0],
+						colours[color][0][1],
+						colours[color][0][2]);
+	cairo_pattern_add_color_stop_rgb (pat, 1.0, colours[color][1][0],
+						colours[color][1][1],
+						colours[color][1][2]);
+	cairo_set_source (cr, pat);
+	cairo_fill (cr);  /* Fill in block */
+
+	cairo_pattern_destroy (pat);
+}
+
 TangoBlock::TangoBlock (gboolean grad) : Renderer ()
 {
 	usegrads = grad;
@@ -207,7 +283,7 @@ void TangoBlock::drawCell (cairo_t *cr, guint color)
 		cairo_pattern_destroy (pat);
 }
 
-void TangoBlock::drawRoundedRectangle (cairo_t * cr, gdouble x, gdouble y, gdouble w, gdouble h, gdouble r)
+void drawRoundedRectangle (cairo_t * cr, gdouble x, gdouble y, gdouble w, gdouble h, gdouble r)
 {
 	cairo_move_to(cr, x+r, y);
 	cairo_line_to(cr, x+w-r, y);
diff --git a/quadrapassel/renderer.h b/quadrapassel/renderer.h
index 70dddd9..b10cb99 100644
--- a/quadrapassel/renderer.h
+++ b/quadrapassel/renderer.h
@@ -51,9 +51,14 @@ public:
 
 protected:	
 	gboolean usegrads;
+};
 
-private:
-	void drawRoundedRectangle (cairo_t *cr, gdouble x, gdouble y, gdouble w, gdouble h, gdouble r);
+class CleanBlock:public Renderer {
+public:
+	CleanBlock ();
+	virtual void drawCell (cairo_t *cr, guint color);
 };
 
+void drawRoundedRectangle (cairo_t *cr, gdouble x, gdouble y, gdouble w, gdouble h, gdouble r);
+
 #endif // __renderer_h__
