diff --git a/include/polarssl/ecp.h b/include/polarssl/ecp.h
index 805e7b0..2bede2c 100644
--- a/include/polarssl/ecp.h
+++ b/include/polarssl/ecp.h
@@ -155,6 +155,11 @@
 void ecp_point_init( ecp_point *pt );
 
 /**
+ * \brief           Initialize a group (to something meaningless)
+ */
+void ecp_group_init( ecp_group *grp );
+
+/**
  * \brief           Free the components of a point
  */
 void ecp_point_free( ecp_point *pt );
@@ -197,7 +202,7 @@
  * \brief           Import an ECP group from null-terminated ASCII strings
  *
  * \param grp       Destination group
- * \param radix     Input numric base
+ * \param radix     Input numeric base
  * \param p         Prime modulus of the base field
  * \param b         Constant term in the equation
  * \param gx        The generator's X coordinate
@@ -222,7 +227,7 @@
  *                  POLARSSL_ERR_MPI_MALLOC_FAILED if memory allocation failed,
  *                  POLARSSL_ERR_MPI_DIVISION_BY_ZERO (shouldn't happen)
  *                  (temporary, a faster version not using division will be
- *                  used in the furture)
+ *                  used in the future)
  */
 int ecp_add( const ecp_group *grp, ecp_point *R,
              const ecp_point *P, const ecp_point *Q );
@@ -239,7 +244,7 @@
  *                  POLARSSL_ERR_MPI_MALLOC_FAILED if memory allocation failed,
  *                  POLARSSL_ERR_MPI_DIVISION_BY_ZERO (shouldn't happen)
  *                  (temporary, a faster version not using division will be
- *                  used in the furture)
+ *                  used in the future)
  */
 int ecp_mul( const ecp_group *grp, ecp_point *R,
              const mpi *m, const ecp_point *P );
