diff --git a/modbus/enum_all.py b/modbus/enum_all.py
index 72f63d9..ee38197 100644
--- a/modbus/enum_all.py
+++ b/modbus/enum_all.py
@@ -127,11 +127,15 @@
 my_parser.add_argument('-p','--port', action='store', type=int,required=False, help='Port Number', default=502)
 my_parser.add_argument('-r','--range', action='store', type=int,required=False, default=[1-500],dest='range',help='Define the range. Default is 1-500',nargs=2)
 my_parser.add_argument('-t','--timeout', action='store', type=int,required=False, help='Timeout', default=10)
+my_parser.add_argument('-ro','--read', action='store_true', required=False, help='enable read-only mode')
 args = my_parser.parse_args()
 ip_addr=args.ipaddress
 port=args.port
 
 
+if args.read:
+	print("[+] read only mode enabled")
+
 #Create workbook to save the result	
 wb=Workbook()
 #Coils - valid and Data [Read and Write]
@@ -139,12 +143,13 @@
 print("Reading Coils Status - 0x01")
 coil_valid_list,coil_data_list,coil_permission_list=read_valid_registers(ip_addr,port,"coil", args.range[0], args.range[1], args.timeout) #Function Code - 0x01
 
-if coil_data_list:
-	print("Writing Coil Status - 0x05")
-	write_coil_valid_list,write_coil_data_list,coil_permission_list=write_single_coil_regiser(ip_addr,port,coil_valid_list,coil_permission_list) #Function Code - 0x05
+if args.read == False:
+	if coil_data_list:
+		print("Writing Coil Status - 0x05")
+		write_coil_valid_list,write_coil_data_list,coil_permission_list=write_single_coil_regiser(ip_addr,port,coil_valid_list,coil_permission_list) #Function Code - 0x05
 
-else:
-	print("No valid Register Found to do Write Operation")
+	else:
+		print("No valid Register Found to do Write Operation")
 #print_details(coil_valid_list,coil_data_list,"Read")
 wb=write_to_excel(wb,"Coil",coil_valid_list,coil_data_list,coil_permission_list,0)
 
@@ -155,11 +160,13 @@
 print("Reading Holding Registers - 0x03")
 hold_valid_list,hold_data_list,hold_permission_list=read_valid_registers(ip_addr,port,"hold", args.range[0], args.range[1], args.timeout) #Function Code - 0x03
 #print_details(hold_valid_list,hold_data_list,"Read")
-if hold_data_list:
-	print("Writing Holding Status - 0x06")
-	write_hold_valid_list,write_hold_data_list,hold_permission_list=write_single_hold_regiser(ip_addr,port,hold_valid_list,hold_permission_list) #Function Code - 0x06
-else:
-	print("No valid Register Found to do Write Operation")
+
+if args.read == False:
+	if hold_data_list:
+		print("Writing Holding Status - 0x06")
+		write_hold_valid_list,write_hold_data_list,hold_permission_list=write_single_hold_regiser(ip_addr,port,hold_valid_list,hold_permission_list) #Function Code - 0x06
+	else:
+		print("No valid Register Found to do Write Operation")
 wb=write_to_excel(wb,"Holding_Register",hold_valid_list,hold_data_list,hold_permission_list,40000)