--- a/src/assemble.cc
+++ b/src/assemble.cc
@@ -21,26 +21,28 @@
 DEFUN_DLD (assemble, args, nargout, 
 "-*- texinfo -*-\n\
 @deftypefn {Function File} {[@var{A}], [@var{x}(Optional)]} = \
-assemble (@var{form a}, @var{DirichletBC}(Optional), @var{...}) \n\
+assemble (@var{form_a}, @var{DirichletBC}) \n\
+Construct the discretization of a Form and apply essential BC.\n\
 The input arguments are\n\
 @itemize @bullet\n\
-@item @var{form a} which is the form to assemble. \n\
-It can be a form of rank 2 (bilinear), a form of rank 1 (linear) or a form\n\
-of rank 0 (functional).\n\
-@item @var{DirichletBC} represents the optional BC that you wish to apply to\n\
-the system. If more than one BC has to be applied, just list them.\n\
+@item @var{form_a} which is the form to assemble.\n\
+It can be a form of rank 2 (BilinearForm or JacobianForm), \
+a form of rank 1 (LinearForm or ResidualForm) or a form \
+of rank 0 (Functional).\n\
+@item @var{DirichletBC} represents the optional BC applied to \
+the system. \n\
 @end itemize \n\
-The output @var{A} is a discretized representation of the @var{form a}:\n\
+The output @var{A} is a discretized representation of the @var{form_a}:\n\
 @itemize @bullet\n\
-@item @var{A} is a sparse Matrix if @var{form a} is a bilinear form\n\
-@item @var{A} is a Vector if @var{form a} is a linear form\n\
-@item @var{A} is a Double if @var{form a} is a functional\n\
+@item @var{A} is a sparse Matrix if @var{form_a} is a bilinear form\n\
+@item @var{A} is a Vector if @var{form_a} is a linear form\n\
+@item @var{A} is a Double if @var{form_a} is a functional\n\
 @end itemize \n\
-If you need to apply boundary condition to a vector for a nonlinear problem \n\
-then you should provide as 2nd argument the vector and you will receive it back\n\
-as the second output argument. For an example of this situation, you can look\n\
-at the example HyperElasticity.m\n\
-@seealso{BilinearForm, LinearForm, ResidualForm, JacobianForm}\n\
+If boundary condition has to be applied to a vector for a nonlinear problem \
+then it should be provide as 2nd argument and it will be given back \
+as the second output argument. For an example of this situation, please refer \
+to the HyperElasticity example. \n\
+@seealso{BilinearForm, LinearForm, ResidualForm, JacobianForm, Functional}\n\
 @end deftypefn")
 {
   int nargin = args.length ();