diff --git a/src/main/java/com/att/dmf/mr/exception/DMaaPCambriaExceptionMapper.java b/src/main/java/com/att/dmf/mr/exception/DMaaPCambriaExceptionMapper.java
index 84634a9..304c15b 100644
--- a/src/main/java/com/att/dmf/mr/exception/DMaaPCambriaExceptionMapper.java
+++ b/src/main/java/com/att/dmf/mr/exception/DMaaPCambriaExceptionMapper.java
@@ -46,7 +46,7 @@
 
 private ErrorResponse errRes;
 
-//private static final Logger LOGGER = Logger.getLogger(DMaaPCambriaExceptionMapper.class);
+
 private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(DMaaPCambriaExceptionMapper.class);
 	
 	@Autowired
diff --git a/src/main/java/com/att/dmf/mr/security/DMaaPAuthenticatorImpl.java b/src/main/java/com/att/dmf/mr/security/DMaaPAuthenticatorImpl.java
index 1641901..4a83a1c 100644
--- a/src/main/java/com/att/dmf/mr/security/DMaaPAuthenticatorImpl.java
+++ b/src/main/java/com/att/dmf/mr/security/DMaaPAuthenticatorImpl.java
@@ -44,7 +44,7 @@
 
 
 	// Setting timeout to a large value for testing purpose.
-	// private static final long kDefaultRequestTimeWindow = 1000 * 60 * 10; //
+	
 	// 10 minutes
 	private static final long kDefaultRequestTimeWindow = 1000 * 60 * 10 * 10 * 10 * 10 * 10;
 
diff --git a/src/main/java/com/att/dmf/mr/service/impl/TopicServiceImpl.java b/src/main/java/com/att/dmf/mr/service/impl/TopicServiceImpl.java
index 29c7665..cef646e 100644
--- a/src/main/java/com/att/dmf/mr/service/impl/TopicServiceImpl.java
+++ b/src/main/java/com/att/dmf/mr/service/impl/TopicServiceImpl.java
@@ -347,12 +347,12 @@
 		if (user == null && null != dmaapContext.getRequest().getHeader("Authorization")) {
 			LOGGER.info("Authenticating the user, as ACL authentication is not provided");
 			// String permission =
-			// "com.att.dmaap.mr.topic"+"|"+topicName+"|"+"manage";
+			
 			String permission = "";
 			String nameSpace = topicName.substring(0, topicName.lastIndexOf("."));
 			String mrFactoryVal = AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop,
 					"msgRtr.topicfactory.aaf");
-			// String tokens[] = topicName.split(".mr.topic.");
+			
 			permission = mrFactoryVal + nameSpace + "|destroy";
 			DMaaPAAFAuthenticator aaf = new DMaaPAAFAuthenticatorImpl();
 			if (!aaf.aafAuthentication(dmaapContext.getRequest(), permission)) {
@@ -502,7 +502,7 @@
 		//
 		
 		
-		// if(!aaf.aafAuthentication(dmaapContext.getRequest(), permission))
+		
 		// {
 		// LOGGER.error("Failed to permit write access to producer [" +
 		// producerId + "] for topic " + topicName
@@ -512,7 +512,7 @@
 		// errorMessages.getNotPermitted1()+" <Grant publish permissions>
 		
 		
-		// throw new DMaaPAccessDeniedException(errRes);
+		
 		// }
 		// }
 
