diff --git a/netconf/nc_rpc/base/commit.py b/netconf/nc_rpc/base/commit.py
index 35ea6e6..3192d6b 100644
--- a/netconf/nc_rpc/base/commit.py
+++ b/netconf/nc_rpc/base/commit.py
@@ -22,18 +22,18 @@
 
 log = structlog.get_logger()
 
+
 class Commit(Rpc):
+    def __init__(self, request, request_xml, grpc_client, session,
+                 capabilities):
+        super(Commit, self).__init__(request, request_xml, grpc_client,
+                                     session, capabilities)
+        self._validate_parameters()
 
-	def __init__(self, request, request_xml, grpc_client, session, capabilities):
-		super(Commit, self).__init__(request, request_xml, grpc_client,
-									 session, capabilities)
-		self._validate_parameters()
+    def execute(self):
+        log.info('commit-request', session=self.session.session_id)
+        if self.rpc_response.is_error:
+            return self.rpc_response
 
-	def execute(self):
-		log.info('commit-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)
