diff --git a/plugins/modules/files/iso_create.py b/plugins/modules/files/iso_create.py
index 6f8e046804..bf6359b14a 100644
--- a/plugins/modules/files/iso_create.py
+++ b/plugins/modules/files/iso_create.py
@@ -8,7 +8,7 @@
 from __future__ import absolute_import, division, print_function
 __metaclass__ = type
 
-DOCUMENTATION = '''
+DOCUMENTATION = r'''
 ---
 module: iso_create
 short_description: Generate ISO file with specified files or folders
@@ -16,7 +16,9 @@ description:
     - This module is used to generate ISO file with specified path of files.
 author:
     - Diane Wang (@Tomorrow9) <dianew@vmware.com>
-requirements: ["pycdlib", "python >= 2.7"]
+requirements:
+- "pycdlib"
+- "python >= 2.7"
 version_added: '0.2.0'
 
 options:
@@ -52,20 +54,22 @@ options:
    rock_ridge:
      description:
      - Whether to make this ISO have the Rock Ridge extensions or not.
-     - 'Valid values are C(1.09), C(1.10) or C(1.12), means adding the specified Rock Ridge version to the ISO. If
-       unsure, set C(1.09) to ensure maximum compatibility.'
+     - Valid values are C(1.09), C(1.10) or C(1.12), means adding the specified Rock Ridge version to the ISO.
+     - If unsure, set C(1.09) to ensure maximum compatibility.
      - If not specified, then not add Rock Ridge extension to the ISO.
      type: str
      choices: ['1.09', '1.10', '1.12']
    joliet:
      description:
-     - Support levels and valid values are C(1), C(2), or C(3). Level C(3) is by far the most common.
+     - Support levels and valid values are C(1), C(2), or C(3).
+     - Level C(3) is by far the most common.
      - If not specified, then no Joliet support is added.
      type: int
      choices: [1, 2, 3]
    udf:
      description:
-     - Whether to add UDF support to this ISO. If set to C(True), then version 2.60 of the UDF spec is used.
+     - Whether to add UDF support to this ISO.
+     - If set to C(True), then version 2.60 of the UDF spec is used.
      - If not specified or set to C(False), then no UDF support is added.
      type: bool
      default: False
@@ -87,6 +91,15 @@ EXAMPLES = r'''
       - /root/testfolder
     dest_iso: /tmp/test.iso
     rock_ridge: 1.09
+
+- name: Create an ISO file with Joliet support
+  community.general.iso_create:
+    src_files:
+      - ./windows_config/Autounattend.xml
+    dest_iso: ./test.iso
+    interchange_level: 3
+    joliet: 3
+    vol_ident: WIN_AUTOINSTALL
 '''
 
 RETURN = r'''
@@ -129,14 +142,17 @@ udf:
 '''
 
 import os
-HAS_PYCDLIB = False
+import traceback
+
+PYCDLIB_IMP_ERR = None
 try:
     import pycdlib
     HAS_PYCDLIB = True
 except ImportError:
-    pass
+    PYCDLIB_IMP_ERR = traceback.format_exc()
+    HAS_PYCDLIB = False
 
-from ansible.module_utils.basic import AnsibleModule
+from ansible.module_utils.basic import AnsibleModule, missing_required_lib
 from ansible.module_utils._text import to_native
 
 
@@ -160,7 +176,7 @@ def add_file(module, iso_file=None, src_file=None, file_path=None, rock_ridge=No
     try:
         iso_file.add_file(src_file, iso_path=file_in_iso_path, rr_name=rr_name, joliet_path=joliet_path, udf_path=udf_path)
     except Exception as err:
-        module.fail_json(msg="Add file %s to ISO file failed due to %s" % (src_file, to_native(err)))
+        module.fail_json(msg="Failed to add file %s to ISO file due to %s" % (src_file, to_native(err)))
 
 
 def add_directory(module, iso_file=None, dir_path=None, rock_ridge=None, use_joliet=None, use_udf=None):
@@ -177,7 +193,7 @@ def add_directory(module, iso_file=None, dir_path=None, rock_ridge=None, use_jol
     try:
         iso_file.add_directory(iso_path=iso_dir_path, rr_name=rr_name, joliet_path=joliet_path, udf_path=udf_path)
     except Exception as err:
-        module.fail_json(msg="Add directory %s to ISO file failed due to %s" % (dir_path, to_native(err)))
+        module.fail_json(msg="Failed to directory %s to ISO file due to %s" % (dir_path, to_native(err)))
 
 
 def main():
@@ -194,6 +210,9 @@ def main():
         argument_spec=argument_spec,
         supports_check_mode=True,
     )
+    if not HAS_PYCDLIB:
+        module.fail_json(missing_required_lib('pycdlib'), exception=PYCDLIB_IMP_ERR)
+
     src_file_list = module.params.get('src_files')
     if src_file_list and len(src_file_list) == 0:
         module.fail_json(msg='Please specify source file and/or directory list using src_files parameter.')