diff --git a/netconf/nc_rpc/base/discard_changes.py b/netconf/nc_rpc/base/discard_changes.py
index 2855a6d..7a52248 100644
--- a/netconf/nc_rpc/base/discard_changes.py
+++ b/netconf/nc_rpc/base/discard_changes.py
@@ -21,19 +21,19 @@
 
 log = structlog.get_logger()
 
+
 class DiscardChanges(Rpc):
+    def __init__(self, request, request_xml, grpc_client, session,
+                 capabilities):
+        super(DiscardChanges, self).__init__(request, request_xml,
+                                             grpc_client, session,
+                                             capabilities)
+        self._validate_parameters()
 
-	def __init__(self, request, request_xml, grpc_client, session,
-				 capabilities):
-		super(DiscardChanges, self).__init__(request, request_xml,
-											 grpc_client, session, capabilities)
-		self._validate_parameters()
+    def execute(self):
+        log.info('discard-changes-request', session=self.session.session_id)
+        if self.rpc_response.is_error:
+            return self.rpc_response
 
-	def execute(self):
-		log.info('discard-changes-request', session=self.session.session_id)
-		if self.rpc_response.is_error:
-			return self.rpc_response
-
-
-	def _validate_parameters(self):
-		log.info('validate-parameters', session=self.session.session_id)
+    def _validate_parameters(self):
+        log.info('validate-parameters', session=self.session.session_id)
