diff --git a/.gitignore b/.gitignore
index af3bea8..01c9c58 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,5 @@
 # SPDX-License-Identifier: Apache-2.0
 
 venv_cbrs
+output
 *.p12
diff --git a/.reuse/dep5 b/.reuse/dep5
index fe17096..72b0c50 100644
--- a/.reuse/dep5
+++ b/.reuse/dep5
@@ -1,5 +1,5 @@
 Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 
-Files: VERSION .gitreview README.md
+Files: VERSION .gitreview README.md example.json
 Copyright: 2021 Open Networking Foundation
 License: Apache-2.0
diff --git a/cpisign.py b/cpisign.py
index 545ca9f..c7b0ee6 100644
--- a/cpisign.py
+++ b/cpisign.py
@@ -8,49 +8,50 @@
 # SPDX-FileCopyrightText: © 2021 Open Networking Foundation <support@opennetworking.org>
 # SPDX-License-Identifier: Apache-2.0
 
+import os
+import json
 import getpass
+import argparse
 from jose import jws
 
 from cryptography.hazmat.primitives.serialization import pkcs12
 from cryptography.hazmat.primitives import serialization
 
-CPI_KEY_PATH = "./YOUR_CPI_KEY.p12"
+parser = argparse.ArgumentParser(description="CBSD CPI signature data generator")
+parser.add_argument("-k", "--key", help="The file name of CPI key")
+parser.add_argument(
+    "signFiles",
+    type=str,
+    nargs="+",
+    help="The file name of sigature data, can accept multiple files in a time.",
+)
+args = parser.parse_args()
 
-cpiSignedData = {
-    "fccId": "P27-SCE4255W",
-    "cbsdSerialNumber": "2009CW5000016",
-    "installationParam": {
-        "latitude": 32.344752,
-        "longitude": -111.012302,
-        "height": 1,
-        "heightType": "AGL",
-        "indoorDeployment": True,
-    },
-    "professionalInstallerData": {
-        "cpiId": "GOOG-001212",
-        "cpiName": "Wei-Yu Chen",
-        "installCertificationTime": "2021-08-14T00:00:00Z",
-    },
-}
+if __name__ == "__main__":
+    # get password
+    cpi_password = bytes(getpass.getpass(), "ascii")
 
-# get password
-cpi_password = bytes(getpass.getpass(), "ascii")
+    with open(args.key, "rb") as key_file:
+        (pkey, cert, addl_cert) = pkcs12.load_key_and_certificates(
+            key_file.read(), cpi_password
+        )
 
-with open(CPI_KEY_PATH, "rb") as key_file:
-    (pkey, cert, addl_cert) = pkcs12.load_key_and_certificates(
-        key_file.read(), cpi_password
+    pkey_raw = pkey.private_bytes(
+        encoding=serialization.Encoding.PEM,
+        format=serialization.PrivateFormat.TraditionalOpenSSL,
+        encryption_algorithm=serialization.NoEncryption(),
     )
 
-pkey_raw = pkey.private_bytes(
-    encoding=serialization.Encoding.PEM,
-    format=serialization.PrivateFormat.TraditionalOpenSSL,
-    encryption_algorithm=serialization.NoEncryption(),
-)
+    if not os.path.exists("output"):
+        os.makedirs("output")
 
-(protectedHeader, encodedCpiSignedData, digitalSignature) = jws.sign(
-    cpiSignedData, pkey_raw, algorithm="RS256"
-).split(".")
+    for signFile in args.signFiles:
+        with open(signFile, "r") as inFile:
+            inFileJson = json.loads(inFile.read())
+            # The output is 3 parameters concat with dot to a string
+            # 3 params are: protectedHeader, encodedCpiSignedData, digitalSignature
+            SIGNED = jws.sign(inFileJson, pkey_raw, algorithm="RS256")
 
-print(protectedHeader)
-print(encodedCpiSignedData)
-print(digitalSignature)
+        print(f"* {inFileJson['cbsdSerialNumber']} data was signed")
+        with open(f"output/{signFile}.signed", "w") as out_file:
+            out_file.write(SIGNED)
diff --git a/example.json b/example.json
new file mode 100644
index 0000000..e30796a
--- /dev/null
+++ b/example.json
@@ -0,0 +1,16 @@
+{
+   "fccId":"P27-SCE4255W",
+   "cbsdSerialNumber":"2009CW5000016",
+   "installationParam":{
+      "latitude":32.344752,
+      "longitude":-111.012302,
+      "height":1,
+      "heightType":"AGL",
+      "indoorDeployment":true
+   },
+   "professionalInstallerData":{
+      "cpiId":"GOOG-001212",
+      "cpiName":"Wei-Yu Chen",
+      "installCertificationTime":"2021-08-14T00:00:00Z"
+   }
+}
