diff --git a/ChangeLog b/ChangeLog
index 966a7aeb3..de846143f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2007-06-25  Matthew Allum  <mallum@openedhand.com>
+
+	* README:
+	Update a little more.
+	* clutter/clutter-effect.c:
+	Add missing func documentation
+	* clutter/clutter-rectangle.c:
+	Fix border drawing. 
+
 2007-06-25  Tomas Frydrych  <tf@openedhand.com>
 
 	* clutter/clutter-fixed.h:
diff --git a/README b/README
index 5e673541e..be4b3a123 100644
--- a/README
+++ b/README
@@ -1,12 +1,8 @@
-Clutter README.
-===============
+Clutter 0.3 README.
+===================
 
-This is Clutter 0.3. Clutter is a GObject based user interface toolkit
-intended for the creation of fast, visually bespoke and impressive
-applications. Open GL is used for rendering.
-
-Its not meant to be a full featured GUI toolkit for regular desktop
-apps nor provide a general interface to *all* OpenGL functionality.
+Clutter it an open source software library for creating fast, visually
+rich and animated graphical user interfaces. 
 
 Clutter currently requires:
 
diff --git a/clutter/clutter-effect.c b/clutter/clutter-effect.c
index b753fc3b6..dafa50526 100644
--- a/clutter/clutter-effect.c
+++ b/clutter/clutter-effect.c
@@ -26,11 +26,9 @@
  */
 
 /**
- * SECTION:clutter-effect-template
- * @short_description: A utility class
+ * SECTION:clutter-effect
+ * @short_description: Utility Class for basic visual effects
  *
- *
- * Since: 0.4
  */
 
 #ifdef HAVE_CONFIG_H
@@ -207,7 +205,10 @@ clutter_effect_template_init (ClutterEffectTemplate *self)
 /**
  * clutter_effect_template_new:
  *
- * FIXME
+ * @timeline:  A #ClutterTimeline for the template (will be cloned)
+ * @alpha_func: An alpha func to use for the template.
+ *
+ * Creates a template for use with clutter effect functions.
  *
  * Return value: a #ClutterEffectTemplate
  *
@@ -280,9 +281,15 @@ on_effect_complete (ClutterTimeline *timeline,
 /**
  * clutter_effect_fade:
  *
- * FIXME
+ * @template: A #ClutterEffectTemplate
+ * @actor: A #ClutterActor to apply the effect to.
+ * @start_opacity: Initial opacity value to apply to actor
+ * @end_opacity: Final opacity value to apply to actor
+ * @completed_func: A #ClutterEffectCompleteFunc to call on effect completion or NULL
+ * @completed_userdata: Data to pass to supplied  #ClutterEffectCompleteFunc or NULL
  *
- * Return value: an alpha value.
+ * Return value: a #ClutterTimeline for the effect. Will be unrefed by
+ * the effect when completed.
  *
  * Since: 0.4
  */
@@ -316,9 +323,15 @@ clutter_effect_fade (ClutterEffectTemplate     *template,
 /**
  * clutter_effect_move:
  *
- * FIXME
+ * @template: A #ClutterEffectTemplate
+ * @actor: A #ClutterActor to apply the effect to.
+ * @knots: An array of #ClutterKnots representing path for the actor
+ * @n_knots: Number of #ClutterKnots in passed array.
+ * @completed_func: A #ClutterEffectCompleteFunc to call on effect completion or NULL
+ * @completed_userdata: Data to pass to supplied  #ClutterEffectCompleteFunc or NULL
  *
- * Return value: an alpha value.
+ * Return value: a #ClutterTimeline for the effect. Will be unrefed by
+ * the effect when completed.
  *
  * Since: 0.4
  */
@@ -350,9 +363,16 @@ clutter_effect_move (ClutterEffectTemplate    *template,
 /**
  * clutter_effect_scale:
  *
- * FIXME
+ * @template: A #ClutterEffectTemplate
+ * @actor: A #ClutterActor to apply the effect to.
+ * @scale_begin: Initial scale factor to apply to actor
+ * @scale_end: Final scale factor to apply to actor
+ * @gravity: A #ClutterGravity for the scale.
+ * @completed_func: A #ClutterEffectCompleteFunc to call on effect completion or NULL
+ * @completed_userdata: Data to pass to supplied  #ClutterEffectCompleteFunc or NULL
  *
- * Return value: a #ClutterTimeline.
+ * Return value: a #ClutterTimeline for the effect. Will be unrefed by
+ * the effect when completed.
  *
  * Since: 0.4
  */
diff --git a/clutter/clutter-rectangle.c b/clutter/clutter-rectangle.c
index fd627b827..5e4539f6d 100644
--- a/clutter/clutter-rectangle.c
+++ b/clutter/clutter-rectangle.c
@@ -100,12 +100,19 @@ clutter_rectangle_paint (ClutterActor *self)
       /* this sucks, but it's the only way to make a border */
       cogl_rectangle (0, 0,
 		      geom.width, priv->border_width);
-      cogl_rectangle (geom.width - priv->border_width, priv->border_width,
-		      geom.width, geom.height - priv->border_width);
+
+      cogl_rectangle (geom.width - priv->border_width, 
+		      priv->border_width,
+		      priv->border_width,
+		      geom.height - (2 * priv->border_width));
+
       cogl_rectangle (0, geom.height - priv->border_width,
-		      geom.width, geom.height);
+		      geom.width - priv->border_width, 
+		      priv->border_width);
+
       cogl_rectangle (0, priv->border_width,
-		      priv->border_width, geom.height - priv->border_width);
+		      priv->border_width, 
+		      geom.height - priv->border_width);
 
       tmp_col.red   = priv->color.red;
       tmp_col.green = priv->color.green;