diff --git a/fillpdf.deprecated.inc b/fillpdf.deprecated.inc
index c92fff1..444393a 100644
--- a/fillpdf.deprecated.inc
+++ b/fillpdf.deprecated.inc
@@ -3,18 +3,25 @@
  * @deprecated fillpdf_merge_execute_pdf_action()
  * Figure out what to do with the PDF and do it.
  *
- * @return void
- * @param $pdf_info An object containing the loaded record from {fillpdf_forms}.
- * @param $pdf_data A string containing the content of the merged PDF.
- * @param $token_objects An array of objects to be used in replacing tokens.
- * Here, specifically, it's for generating the filename of the handled PDF.
- * @param $action One of the following keywords: default, download, save,
- * redirect. These correspond to performing the configured action (from
- * admin/structure/fillpdf/%), sending the PDF to the user's browser, saving it
- * to a file, and saving it to a file and then redirecting the user's browser to
- * the saved file.
- * @param $force_download If set, this function will always end the request by
- * sending the filled PDF to the user's browser.
+ *
+ * @param object $pdf_info
+ *   An object containing the loaded record from {fillpdf_forms}.
+ * @param string $pdf_data
+ *   A string containing the content of the merged PDF.
+ * @param array $token_objects
+ *   An array of objects to be used in replacing tokens.
+ *   Here, specifically, it's for generating the filename of the handled PDF.
+ * @param One|string $action
+ *   One of the following keywords: default, download, save,
+ *   redirect. These correspond to performing the configured action (from
+ *   admin/structure/fillpdf/%), sending the PDF to the user's browser, saving it
+ *   to a file, and saving it to a file and then redirecting the user's browser to
+ *   the saved file.
+ * @param bool|If $force_download
+ *   If set, this function will always end the request by
+ *   sending the filled PDF to the user's browser.
+ *
+ * @throws Exception
  */
 function fillpdf_merge_handle_pdf($pdf_info, $pdf_data, $token_objects, $action = 'download', $force_download = FALSE) {
   if ($pdf_info->scheme === 'private') {
diff --git a/fillpdf.module b/fillpdf.module
index 0ff5601..d511cf6 100644
--- a/fillpdf.module
+++ b/fillpdf.module
@@ -218,10 +218,16 @@ function fillpdf_file_download($uri) {
 
 /**
  * Gets a link to the printable PDF, merged with the passed-in data
- * @param array /int $nids or $nid, if you pass in one value it will merge with that node.
- *  If array, it will merge with multiple nodes, with later nids overriding previous ones.
- * @param array $webforms Array of webforms, of this strucure: array('nid'=>1, 'sid'=>1)
- * @param bool $sample TRUE if you want to populate the form with its own field-names (to get a gist of PDF)
+ * @param array|int $nids or $nid,
+ *   if you pass in one value it will merge with that node.
+ *   If array, it will merge with multiple nodes, with later nids overriding previous ones.
+ * @param array $webform_arr
+ *   Array of webforms, of this strucure: array('nid'=>1, 'sid'=>1)
+ * @param bool $sample
+ *   TRUE if you want to populate the form with its own field-names (to get a gist of PDF)
+ *
+ * @return string
+ *   file url
  */
 function fillpdf_pdf_link($fid, $nids = NULL, $webform_arr = NULL, $sample = FALSE, $uc_order_ids = NULL, $uc_order_product_ids = NULL) {
   $nids_uri = $webforms_uri = $uc_orders_uri = $uc_order_products_uri = "";
@@ -324,39 +330,41 @@ function fillpdf_parse_uri() {
  * Constructs a page from scratch (pdf content-type) and sends it to the
  * browser or saves it, depending on if a custom path is configured or not.
  *
- * @param $fid
+ * @param int $fid
  *   The integer ID of the PDF.
- * @param $nids
+ * @param array $nids
  *   Array of integer IDs of the CCK nodes from which to draw data.
- * @param $webform_arr
+ * @param array $webform_arr
  *   Array of integer IDs of the Webform nodes from which to draw data.
  * @param $sample
  *   If "true" (exact string), each field will be filled with its field name.
- * @param $force_download
+ * @param bool $force_download
  *   Boolean. If TRUE, always send a PDF to the browser, even if a
  *   destination_path is set for the PDF.
- * @param $skip_access_check
+ * @param bool $skip_access_check
  *   Boolean. If TRUE, do not do any access checks. Allow the user to download
  *   any PDF with data from any node. Only use when access checks are being
  *   done some other way.
- * @param $flatten
+ * @param bool $flatten
  *   Boolean. If TRUE, flatten the PDF so that fields cannot be edited.
  *   Otherwise leave fields editable.
- * @param $handle
+ * @param bool $handle
  *   Boolean. If TRUE, handle the PDF, which usually consists of sending it to
  *   the users's browser or saving it as a file.
- * @param $uc_order_ids Array of integer IDs of Ubercart orders from which to
- * @param $uc_order_product_ids Array of integer IDs of Ubercart ordered
+ * @param array $uc_order_ids
+ *   Array of integer IDs of Ubercart orders from which to
+ * @param array $uc_order_product_ids
+ *   Array of integer IDs of Ubercart ordered
  *   products from which to draw data.
  *
- * @return
+ * @return object
+ *   stdClass When $handle is FALSE, this function returns the variable it would have
  *   When $handle is FALSE, this function returns the variable it would have
  *   used to invoke hook_fillpdf_merge_pre_handle().
  *
- *   When $handle is TRUE, it returns nothing.
- *
+ * When $handle is TRUE, it returns nothing.
  * @see fillpdf_pdf_link()
- * for $_GET params
+ *   for $_GET params
  */
 // @todo: Refactor to take fewer arguments once tests in place
 // MAYBE in FillPDF 3 - might not want to break backwards-compatibility
@@ -976,11 +984,17 @@ function fillpdf_build_filename($original, $token_objects) {
  * @todo: Port to PDF Forms API
  *
  * Utility function to allow other functions to merge PDFs with the various methods in a consistent way.
- * @param string $method The service or program being used. Possible values: local, remote, pdftk. Currently, only pdftk is supported.
- * @param array $fields The fields to merge into the PDF. Should be retrieved from the {fillpdf_fields} table.
- * @param mixed $fillpdf When in URL mode, this is the record from {fillpdf_forms}. When in Stream mode, this is the PDF data.
- * @param string $mode A special flag to control the behavior of this function. URL mode merges using a PDF on the
+ * @param string $method
+ *   The service or program being used. Possible values: local, remote, pdftk. Currently, only pdftk is supported.
+ * @param array $fields
+ *   The fields to merge into the PDF. Should be retrieved from the {fillpdf_fields} table.
+ * @param mixed $fillpdf
+ *   When in URL mode, this is the record from {fillpdf_forms}. When in Stream mode, this is the PDF data.
+ * @param string $mode
+ *   A special flag to control the behavior of this function. URL mode merges using a PDF on the
  *   file system and Stream mode merges using the value of $fillpdf directly. Possible values: url, stream.
+ *
+ * @return bool|null|string
  */
 function fillpdf_execute_merge($method, $fields, $fillpdf, $mode = 'url', $flatten = TRUE) {
   $data = NULL;
@@ -1087,6 +1101,8 @@ function fillpdf_parse_pdf($fid) {
  * @param mixed $fillpdf When in URL mode, this is the filename to the PDF to parse. When in Stream mode, this is the PDF data.
  * @param string $mode A special flag to control the behavior of this function. URL mode merges using a PDF on the
  *   file system and Stream mode merges using the value of $fillpdf directly. Possible values: url, stream.
+ *
+ * @return array
  */
 function fillpdf_execute_parse($method, $fillpdf, $mode = 'url') {
   switch ($mode) {
@@ -1358,9 +1374,11 @@ function fillpdf_file_usage_add($file, $fillpdf_object) {
  * Call file_usage_delete() directly if you want to delete a specific amount of
  * references. You will have to clean up {fillpdf_file_context} yourself.
  *
- * @param \stdClass $file
- * @param null $fcid This is the same as the $id argument to
- * file_usage_delete().
+ * @param object|stdClass $file
+ *
+ * @internal param null $fcid
+ *   This is the same as the $id argument to
+ *   file_usage_delete().
  *
  * @see file_usage_delete()
  */
