diff --git a/provider/lib/utils.js b/provider/lib/utils.js
index 5c3e12d..c9f026d 100644
--- a/provider/lib/utils.js
+++ b/provider/lib/utils.js
@@ -78,7 +78,7 @@
         nanoConnection = require('nano')(dbURL);
 
         try {
-    	  
+
             var triggeredDB = nanoConnection.use(dataTrigger.dbname);
 
             var includeDocs = false;
@@ -96,12 +96,12 @@
 
                 logger.info(tid, method, 'Got change from', dataTrigger.dbname, change, triggerHandle);
                 logger.info(tid, method, 'Found triggerHandle', triggerHandle);
-        	  
+
                 if (triggerHandle && triggerHandle.retriesLeft > 0) {
-            	  
+
             	    logger.info(tid, method, 'triggers left:', triggerHandle.triggersLeft);
             	    logger.info(tid, method, 'retries left:', triggerHandle.retriesLeft);
-            	  
+
                     if (triggerHandle.triggersLeft === -1) {
                 	    logger.info(tid, method, 'found a trigger fire limit set to -1.  setting it to fire infinitely many times');
                         that.unlimitedTriggerFires = true;
@@ -154,7 +154,7 @@
             });
 
         });
-        
+
         } catch (err) {
             logger.info('caught an exception: ' + err);
             return Promise.reject(err);
@@ -180,7 +180,7 @@
         }
 
         // if we find that includeDoc is set to true we should warn user here
-        // (note: this will only be the set for old feeds.  we no longer allow 
+        // (note: this will only be the set for old feeds.  we no longer allow
         // this to be set for newly created feeds).
         if (obj.includeDoc && (obj.includeDoc === true || obj.includeDoc.toString().trim().toLowerCase() === 'true')) {
             logger.warn(tid, method, 'cloudant trigger feed: includeDoc parameter is no longer supported.');
diff --git a/settings.gradle b/settings.gradle
index 2a1ec33..6a8804d 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -11,4 +11,4 @@
 gradle.ext.scala = [
         version: '2.11.8',
         compileFlags: ['-feature', '-unchecked', '-deprecation', '-Xfatal-warnings', '-Ywarn-unused-import']
-]
\ No newline at end of file
+]
diff --git a/tests/src/catalog/CloudantUtil.java b/tests/src/catalog/CloudantUtil.java
index b39843d..51ae593 100755
--- a/tests/src/catalog/CloudantUtil.java
+++ b/tests/src/catalog/CloudantUtil.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2016 IBM Corporation
+ * Copyright 2015-2016 IBM Corporation
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tests/src/catalog/cloudant/CloudantBindingTests.scala b/tests/src/catalog/cloudant/CloudantBindingTests.scala
index 0ebc9f1..21dc64f 100644
--- a/tests/src/catalog/cloudant/CloudantBindingTests.scala
+++ b/tests/src/catalog/cloudant/CloudantBindingTests.scala
@@ -1,5 +1,5 @@
 /*
- * Copyright 2016 IBM Corporation
+ * Copyright 2015-2016 IBM Corporation
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/tests/src/catalog/cloudant/CloudantTriggerPersistencyTest.scala b/tests/src/catalog/cloudant/CloudantTriggerPersistencyTest.scala
index cd09819..853a3fb 100644
--- a/tests/src/catalog/cloudant/CloudantTriggerPersistencyTest.scala
+++ b/tests/src/catalog/cloudant/CloudantTriggerPersistencyTest.scala
@@ -53,8 +53,8 @@
 
     behavior of "Cloudant trigger service"
 
-    
-    ignore should "persist trigger into Cloudant" in withAssetCleaner(wskprops) {    
+
+    ignore should "persist trigger into Cloudant" in withAssetCleaner(wskprops) {
         (wp, assetHelper) =>
             implicit val wskprops = wp // shadow global props and make implicit
             val namespace = wsk.namespace.list().stdout.trim.split("\n").last
