diff --git a/docs/source/nnls_modeling.rst b/docs/source/nnls_modeling.rst
index 7fb8fbb..1aee32d 100644
--- a/docs/source/nnls_modeling.rst
+++ b/docs/source/nnls_modeling.rst
@@ -1537,6 +1537,7 @@
    once, regardless of how many residual blocks refer to them.
 
 .. function:: ResidualBlockId Problem::AddResidualBlock(CostFunction* cost_function, LossFunction* loss_function, const vector<double*> parameter_blocks)
+.. function:: ResidualBlockId Problem::AddResidualBlock(CostFunction* cost_function, LossFunction* loss_function, double *x0, double *x1, ...)
 
    Add a residual block to the overall cost function. The cost
    function carries with it information about the sizes of the
@@ -1546,6 +1547,9 @@
    NULL, in which case the cost of the term is just the squared norm
    of the residuals.
 
+   The parameter blocks may be passed together as a
+   ``vector<double*>``, or as up to ten separate ``double*`` pointers.
+
    The user has the option of explicitly adding the parameter blocks
    using AddParameterBlock. This causes additional correctness
    checking; however, AddResidualBlock implicitly adds the parameter
@@ -1571,12 +1575,18 @@
       double x1[] = {1.0, 2.0, 3.0};
       double x2[] = {1.0, 2.0, 5.0, 6.0};
       double x3[] = {3.0, 6.0, 2.0, 5.0, 1.0};
+      vector<double*> v1;
+      v1.push_back(x1);
+      vector<double*> v2;
+      v2.push_back(x2);
+      v2.push_back(x1);
 
       Problem problem;
 
       problem.AddResidualBlock(new MyUnaryCostFunction(...), NULL, x1);
       problem.AddResidualBlock(new MyBinaryCostFunction(...), NULL, x2, x1);
-
+      problem.AddResidualBlock(new MyUnaryCostFunction(...), NULL, v1);
+      problem.AddResidualBlock(new MyBinaryCostFunction(...), NULL, v2);
 
 .. function:: void Problem::AddParameterBlock(double* values, int size, LocalParameterization* local_parameterization)
 
